Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Посчитать сумму выделенных чекбоксов (https://javascript.ru/forum/jquery/84002-poschitat-summu-vydelennykh-chekboksov.html)

face2005 12.05.2022 13:44

Посчитать сумму выделенных чекбоксов
 
Добрый день! при выделении или снятия галочки все считает нормально.... А как при загрузке страницы это посчитать?
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();
  });

рони 12.05.2022 14:04

face2005,
строка 9
}).trigger('change');

face2005 12.05.2022 14:37

Спасибо! но вызывает ошибку...
ReferenceError: can't access lexical declaration '$css3' before initialization

Nexus 12.05.2022 14:48

face2005, замените строку 3 на эти:
let $css3 = $('#cl-3 .serviceInputBlock input[type="checkbox"]');
$css3.change(function () {

face2005 12.05.2022 14:55

Спасибо! Извините, за нескромность, но это то же что и сверху я привел код.. это при изменении чекбокса... А мне нужно что бы при загрузке посчитал выделенные чекбоксы...

ksa 12.05.2022 15:33

face2005, ты бы сделал полный пример - тебе показали бы точнее. ;)

face2005 12.05.2022 16:09

ну так сверху показал как при выделении или снятия выделения чекбокса change считается сумма...

рони 12.05.2022 16:10

face2005,
строка 10
$css3.trigger('change');

face2005 12.05.2022 16:22

Спасибо! тогда нужно это вызывать после объявления функции resultCalc3();

рони 12.05.2022 16:26

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, время: 20:19.