В коде выше price каждый раз присваивается 0, поэтому стоимость выводится или 3000, или - 3000. Я попыталась, чтобы функция вытаскивала из span значение по аналогии, но почему-то у меня не работает. Вот в чем я делаю ошибку?
<input type="checkbox" onchange="calc()" value="Услуга"/>
<span id="mon">3000</span> руб. Услуга
<br/>
<div>Стоимость: <span id="result">0</span> руб.</div>
<script>
function calc() {
var mon = parseInt(document.getElementById("mon").innerHTML); //Получаем цену услуги
var isChecked = document.querySelector('input').checked; //отмечен ли чекбокс
var result = parseInt(document.getElementById("result").innerHTML); //Получаем итоговую сумму
var price = 0;
var price += result;
// проверяем чекбокс
if (isChecked) {
price += mon;
} else {
price -= mon;
}
// var msg = document.getElementedById("msg"); //зачем тут это, если оно не используется?
result.innerHTML = price;
}
</script>