Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.07.2019, 17:33
Новичок на форуме
Отправить личное сообщение для toyboy__37 Посмотреть профиль Найти все сообщения от toyboy__37
 
Регистрация: 25.01.2016
Сообщений: 5

Помогите доделать калькулятор
Добрый вечер. Помогите, пожалуйста, доделать мини калькулятор.
Все значения меняются как надо. Но не хватает динамики, т.е когда я нажимаю на чекбокс ничего не происходит, а как только изменю число в инпуте - число меняется. Как можно сделать всё это динамично? Пробовал через .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()))
});
Ответить с цитированием
  #2 (permalink)  
Старый 07.07.2019, 17:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 26,311

toyboy__37,
обработчик повесьте на форму в которой находятся все ваши элементы, вместо строки 7
ваша_форма.on("input change", function () {
Ответить с цитированием
  #3 (permalink)  
Старый 07.07.2019, 17:53
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,031

toyboy__37, или если нет формы, то поменяйте
kvart.on("input", function () {
на
kvart.add(komn).add(tepl).add(avtocad).on("input", function () {


рони, change тут не нужно
Ответить с цитированием
  #4 (permalink)  
Старый 07.07.2019, 17:58
Новичок на форуме
Отправить личное сообщение для toyboy__37 Посмотреть профиль Найти все сообщения от toyboy__37
 
Регистрация: 25.01.2016
Сообщений: 5

рони,
Malleys,
Ребят, большое спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите доделать калькулятор !!! help Jamesx Общие вопросы Javascript 4 10.10.2018 14:05
Доделать калькулятор с ползунком Akacia Работа 2 17.07.2015 16:12
Помогите доделать калькулятор через ajax Музаффар Общие вопросы Javascript 4 20.12.2013 07:42
Помогите доделать калькулятор расчета стоимости. mazaxaka jQuery 2 08.08.2012 15:14
Помогите вытащить отсюда калькулятор sergiocharm Общие вопросы Javascript 8 17.04.2012 21:22