Делаю онлайн-калькулятор, а в функции подсчёта суммы в select при множественном выборе checkbox - не срабатывает... где ошибка?

Главные вкладки

Аватар пользователя Natalika Natalika 3 мая 2017 в 13:40

Прошу помощи в написании функции!
Пишу простой калькулятор в веб-форме друпал 7

Задача:
Посчитать сумму в select в выбранных checkbox.
Как правильно указать id-селекта?
В таким виде, как сейчас - это не работает, знаю, что есть простое решение, но сама не нашла, где тут закралась ошибка?(((
------------------------------------------------------------------------

(function($) {
        $(document).ready(function() {
                                                                                                                                                                           
var sum=0;                       
function changePrice(){                        
               
        $.each($('#edit-submitted-teh input:checkbox:checked'), function () {
        sum += parseInt($(this).val())
        });
        return Math.round(sum);
}
               
                                       
$('#edit-submitted-teh').bind('change', function(){
        alert(sum);
});
       
                                                   
        });
}) (jQuery);

Лучший ответ

Аватар пользователя Natalika Natalika 4 мая 2017 в 19:48

Вот рабочий код, может кому пригодится!
-----------------------------------------------------------

var
$form = $("#edit-submitted-teh"),
  $allCheckboxes = $("input:checkbox", $form),
  $sumOut = $("#checked-sum"),
  $countOut = $("#checked-count");
 
$allCheckboxes.change(function() {
        var
        sum = 0,
    count = 0;
        $allCheckboxes.each(function(index, el) {
        var
        $el = $(el),
        val;
        if ($el.is(":checked")) {
        count++;
      val = parseFloat($el.val());
      if (!isNaN(val)) {
        sum += val;
      }
    }
  });
  $sumOut.text(sum);
  $countOut.text(count);
});

Комментарии

Аватар пользователя Natalika Natalika 4 мая 2017 в 12:27

Благодарю за наводку, но у меня не получается указать id селекта и сам этот пример в вебформах друпал у меня по какой-то причине не работает

Аватар пользователя Natalika Natalika 4 мая 2017 в 19:48

Вот рабочий код, может кому пригодится!
-----------------------------------------------------------

var
$form = $("#edit-submitted-teh"),
  $allCheckboxes = $("input:checkbox", $form),
  $sumOut = $("#checked-sum"),
  $countOut = $("#checked-count");
 
$allCheckboxes.change(function() {
        var
        sum = 0,
    count = 0;
        $allCheckboxes.each(function(index, el) {
        var
        $el = $(el),
        val;
        if ($el.is(":checked")) {
        count++;
      val = parseFloat($el.val());
      if (!isNaN(val)) {
        sum += val;
      }
    }
  });
  $sumOut.text(sum);
  $countOut.text(count);
});