Посчитать сумму выделенных чекбоксов
Добрый день! при выделении или снятия галочки все считает нормально.... А как при загрузке страницы это посчитать?
let servisePrice3 = 0; let $css3 = $('#cl-3 .serviceInputBlock input[type="checkbox"]').change(function () { servisePrice3 = 0; $css3.filter(':checked').each(function () { servisePrice3 += $(this).data('calc-value'); }); resultCalc3(); }); |
face2005,
строка 9 }).trigger('change'); |
Спасибо! но вызывает ошибку...
ReferenceError: can't access lexical declaration '$css3' before initialization |
face2005, замените строку 3 на эти:
let $css3 = $('#cl-3 .serviceInputBlock input[type="checkbox"]'); $css3.change(function () { |
Спасибо! Извините, за нескромность, но это то же что и сверху я привел код.. это при изменении чекбокса... А мне нужно что бы при загрузке посчитал выделенные чекбоксы...
|
face2005, ты бы сделал полный пример - тебе показали бы точнее. ;)
|
ну так сверху показал как при выделении или снятия выделения чекбокса change считается сумма...
|
face2005,
строка 10 $css3.trigger('change'); |
Спасибо! тогда нужно это вызывать после объявления функции resultCalc3();
|
face2005,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script> $(function() { function resultCalc3() { out.textContent = servisePrice3; } let servisePrice3 = 0; let $css3 = $('#cl-3 .serviceInputBlock input[type="checkbox"]').change(function() { servisePrice3 = 0; $css3.filter(':checked').each(function() { servisePrice3 += $(this).data('calc-value'); }); resultCalc3(); }); $css3.trigger('change'); }); </script> </head> <body> <div id="out"></div> <div id="cl-3"> <div class="serviceInputBlock"> <input type="checkbox" name="" id="" data-calc-value="5" checked="checked"> <input type="checkbox" name="" id="" data-calc-value="5"> <input type="checkbox" name="" id="" data-calc-value="5"> </div> </div> </body> </html> |
Часовой пояс GMT +3, время: 12:50. |