Подсчет суммы блоков на лету
Приветствую!
Помогите разобраться с задачей. Есть блоки <div class="sum2 block"></div> <!--сюда подгружается сумма в зависимости от выбранных селектов/инпутов--> <div class="block"></div> <!-- сюда также--> То есть при загрузке страницы блоки пустые, без цифр Общую сумму, вывожу: <div class="allblock"></div> Скрипт который производит подсчет, однако он умеет суммировать, только если в блоки попадают цифры при загрузке страницы <script> var sum = 0, i; var blocks = document.querySelectorAll('.block'); for (i = 0; i < blocks.length; i++) { sum = sum+parseInt(blocks[i].innerHTML); } $('.allblock').html(sum); </script> Так вот, в случае когда цифры попадают в блоки (<div class="block"></div>)(уже после того как страница загрузилась и я выбираю какие либо значения в селектах), сумма не суммируется. То есть цифры в блоки <div class="block"></div> попадают, но не суммируются. Как в таком случае подать скрипту сигнал, что нужно выполнить пересчет суммы блоков на лету? Заранее спасибо. |
$(function(){ function sumN(){ var sum = 0; $('.block').each(function(){ sum += parseInt($(this).html()); }); $('.allblock').html(sum); } $('select').on('change', sumN); sumN(); }); поменяйте ваш гибрид на эту. вместо этого селектора $('select') можно указать можно указать класс нужных селектов. |
Часовой пояс GMT +3, время: 19:53. |