Пишу свой первый калькулятор на jquery, почти все хорошо, кроме чекбоксов, у меня весь расчет идет в $("#slider").on("change", function (), соответственно, я чекаю чекбокс(извините за каламбур), но изменения отображаются конечно же только после того как я сдвину ползунок слайдера. Понимаю что надо расчет оттуда вытаскивать, но как сделать чтобы и слайдер на лету считался и чекбоксы
$.sum = function() {
return Array.prototype.reduce.call(arguments, function (sum, current) {
return sum + parseInt(current);
}, 0);
};
$("#slider").ionRangeSlider({
grid: true,
from: 0,
min: 0,
max: 50000,
step: 1000,
grid_num: 10,
});
var tz = 0;
var meta = 0;
var copyright = 1;
var days = 0;
var total_days = 0;
$('#check2').change(function() {
if ($('#check2').prop('checked')) {
tz = 2;
} else {
tz = 0;
}
});
$('#check3').change(function() {
if ($('#check3').prop('checked')) {
meta = 2;
} else {
meta = 0;
}
});
$('#check4').change(function() {
if ($('#check4').prop('checked')) {
copyright = 3;
} else {
copyright = 1;
}
});
$("#slider").on("change", function () {
var $this = $(this),
value = $this.prop("value");
if ((value <= 10000) && (value > 0)) {
var cost = 5000 + 5*value;
if (value == 1000) {
days = 5;
} else if (value == 2000) {
days = 5 + 1;
} else if (value == 3000) {
days = 6 + 1;
} else if (value == 4000) {
days = 7 + 1;
} else if (value == 5000) {
days = 8 + 1;
} else if (value == 6000) {
days = 9 + 1;
} else if (value == 7000) {
days = 10 + 1;
} else if (value == 8000) {
days = 11 + 1;
} else if (value == 9000) {
days = 12 + 1;
} else if (value == 10000) {
days = 13 + 1;
}
}
else if (value == 0) {
var cost = 0;
days = 0;
} else {
var cost = 'По договоренности';
days = 'По договоренности';
}
total_days = $.sum(days + tz + meta)*copyright;
$("#cost span").text(cost);
$("#days span").text(total_days);
});