Добрый день. Извините за дублирование темы, получилось определить проблему более локально. Суть:
есть чекбоксы:
<form id="num3" name="num3" class="hide2" >
<h2>Заголовок</h2>
<input type="checkbox" name="thirdStep" id="cb1" onchange="checkCB();" /> ch1 <br />
<input type="checkbox" name="thirdStep" id="cb2" onchange="checkCB();"/> ch2 <br />
<input type="checkbox" name="thirdStep" id="cb3" onchange="checkCB();"/> ch3 <br />
<input type="checkbox" name="thirdStep" id="cb4" onchange="checkCB();"/> ch4 <br />
</form>
<!--Блок для вывода результата-->
<div id="cost">
</div>
Нужно что бы при выборе какого либо из чекбоксов в результат добавлялось число, а при снятии галки это же число убиралось.
пробовал так(для первого чекбокса):
//проверяем нажатие чекбокса
function checkCB(){
var cb1 = document.getElementById("cb1");
if(cb1.checked) {
c=0;
updatePrice(6, 3);
}else{
c= 0;
updatePrice(-4, 3);
}
}
//считаем и выводим результат.
function updatePrice(sum, whereCome){
var place = document.getElementById("cost");
place.innerHTML = '';
var span = document.createElement("span");
if(whereCome == 3){
c = sum;
}
span.innerHTML = "<h1>Стоимость составит: " + (a+b+c)+"</h1>";
place.appendChild(span);
}
a,b две глобальные переменные из других функций. Дело точно не в них, отключал те функции, результат не менялся.
Сейчас такая беда: нажимаю на чекбокс 1 раз происходит +6, всё в порядке, нажимаю 2 раз(снимаю галку) происходит -10. Снова ставлю +10. Так эту 10 туда сюда и гоняю. Вопрос, как с этим бороться? Почему он суммирует числа из чек и анчек?