Задать вопрос
@CreativeStory

Как правильно считать сумму checkbox и radio?

Привет!
Ни как не могу понять причину неверной отработки функции.
В идеале должен считать сумму, но подсчет ведется только если 2 раза нажать на чекбокс или поле radio. При первом клике пересчитываются старое значение из этого value.

Есть такой
function countTotalSum() {

    var inputItems = document.getElementsByClassName('price-input');
    var sumContainer = document.getElementById('sum');
    var totalSum = 0;

    for (var i = 0; i < inputItems.length; i++) {
        if(document.getElementById('dugi-'+i).checked) {
            totalSum=totalSum+parseInt(document.getElementById('dugi-'+i).value);
            sumContainer.innerHTML = totalSum;
        } 
        
    }

}
  • Вопрос задан
  • 327 просмотров
Подписаться 1 Простой 4 комментария
Решения вопроса 2
@justabit
Как вариант:
<div id="container">
  <input type="checkbox" name="price-input" value="10" onClick="calculate(this);"  />10<br />
  <input type="checkbox" name="price-input" value="20" onClick="calculate(this);" />20 <br />
  <input type="checkbox" name="price-input" value="30" onClick="calculate(this);" />30 <br />
  <input type="checkbox" name="price-input" value="40" onClick="calculate(this);" />40 <br />
</div>
Sum : <span id="sum">0</span>

var total = 0;

function calculate(item) {
  if(item.checked){
    total+= parseInt(item.value);
  } else {
    total-= parseInt(item.value);
  }
  document.getElementById('sum').innerHTML = total;
}

Результат: https://codepen.io/anon/pen/EOQxoB
Ответ написан
@KappyJS
У тебя лэйбл пустой, вынеси функцию onclick в input Чекбокса
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы