Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Объединить два куска кода в один (https://javascript.ru/forum/misc/78490-obedinit-dva-kuska-koda-v-odin.html)

MrRobit 21.09.2019 22:19

Объединить два куска кода в один
 
Всем привет, мучаю калькулятор, есть два куска кода, один предназначен для того чтобы суммировать значения в select, другой суммировать значения выбранных chackbox, но столкнулся с проблемой, не могу понять как их объединить чтобы работали вместе, подскажите, пожалуйста

function GetData(){
       var sum = 0;
       var s = $('select').change(function(){
          s.each(function() {
             sum += Number(this.value) || 0;
          });
         document.getElementById('result_cum').innerHTML = "Примерная стоимость установки: " + sum ;
         // console.log(sum);
     });
}

Второй кусок кода
$("input").click(function() {
    $("input:checked").each(function(){
      sum+= Number($(this).val());
    });
    conslog.log(sum);
});

laimas 22.09.2019 03:29

$('select').change(function() ..., это установка обработчика события, помещать ее в функцию, которая будут вызываться многократно, это глупость.

var fields = $('select, input').change(function(){
    var sum = 0; 
    fields.filter('select, :checked').each(function() {
        sum += +this.value || 0        
    });
    $('#result_sum').text("Примерная стоимость установки: " + sum)
});


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


Часовой пояс GMT +3, время: 11:24.