Помогите доделать калькулятор
Добрый вечер. Помогите, пожалуйста, доделать мини калькулятор.
Все значения меняются как надо. Но не хватает динамики, т.е когда я нажимаю на чекбокс ничего не происходит, а как только изменю число в инпуте - число меняется. Как можно сделать всё это динамично? Пробовал через .each() , но не помогло... <input type="number" name="kvart" placeholder="kvart" required> <input type="number" name="komn" placeholder="komn" > <input type="checkbox" id="tepl" name="tepl" class="adds" value="0"> <label for="tepl">Тепловизор</label> <input type="checkbox" id="avtocad" name="avtocad" class="adds" value="0"> <label for="avtocad">Автокад</label> <input type="text" name="total" readonly="readonly" value="0"> var kvart = $("input[name='kvart']"); var komn = $("input[name='komn']"); var tepl = $("input[name='tepl']"); var avtocad = $("input[name='avtocad']"); var total = $("input[name='total']"); kvart.on("input", function () { var sum = 0; var sum2 = 0; var sum3 = 0; if(kvart.val() > 0 && kvart.val() <= 20){ sum += 2000; avtocad.val(sum2 + 2000) } else if(kvart.val() > 20 && kvart.val() <= 30){ sum += 2500; avtocad.val(sum2 + 2200); } else if(kvart.val() > 30 && kvart.val() <= 40){ sum += 3000; avtocad.val(sum2 + 2500); } else if(kvart.val() > 40 && kvart.val() <= 60){ sum += 3200; avtocad.val(sum2 + 2700); } else if(kvart.val() > 60 && kvart.val() <= 70){ sum += 3500; avtocad.val(sum2 + 2900); } else if(kvart.val() > 70 && kvart.val() <= 90){ sum += 4000; avtocad.val(sum2 + 3300); } else if(kvart.val() > 90 && kvart.val() <= 500){ sum += 4000 + ((kvart.val() - 90 ) * 60); avtocad.val(sum2 + 3300 + ((kvart.val() - 90 ) * 60)); } else { sum = 0; avtocad.val(0); }; if(komn.val() == 1){ tepl.val(sum3 + 1500) } else if(komn.val() == 2){ tepl.val(sum3 + 2000); } else if(komn.val() == 3){ tepl.val(sum3 + 2500); } else if(komn.val() == 4){ tepl.val(sum3 + 3000); } else { tepl.val(0) }; avtocad.each(function () { if(this.checked) {parseInt(this.value)} else { avtocad.val(0) }; }); tepl.each(function () { if(this.checked) {parseInt(this.value)} else { tepl.val(0) }; }); total.val(parseInt(sum) + parseInt(avtocad.val()) + parseInt(tepl.val())) }); |
toyboy__37,
обработчик повесьте на форму в которой находятся все ваши элементы, вместо строки 7 ваша_форма.on("input change", function () { |
toyboy__37, или если нет формы, то поменяйте
kvart.on("input", function () {на kvart.add(komn).add(tepl).add(avtocad).on("input", function () { рони, change тут не нужно |
рони,
Malleys, Ребят, большое спасибо! |
Часовой пояс GMT +3, время: 06:51. |