Показать сообщение отдельно
  #15 (permalink)  
Старый 05.01.2021, 23:41
Аспирант
Отправить личное сообщение для tp-20 Посмотреть профиль Найти все сообщения от tp-20
 
Регистрация: 19.06.2018
Сообщений: 42

Приветствую!
Калькулятор тот же, только слегка видоизменённый)) Поэтому новую тему создавать не буду..)

Что имеем:
двигаем ползунок - меняется значение в инпуте и в блоке "доход в день и в месяц".

Что надо:
когда вручную вводим число в инпут, в блоке "доход в день и в месяц" значения не меняются, хотя ползунок перемещается. Как это сделать?



<div>
	<input type="text" class="main-tariffs-calc-value main-tariffs-calc-value-1" value="10000">		// инпут, куда вручную вводим значение
	<div class="main-tariffs-calc-slider-1"></div>		// ползунок (слайдер)
</div>
<div>
	<div>Доход за сутки:</div>
	<div><input type="text" value="100" class="daily-value-1"> USD</div>
</div>
<div>
	<div>Доход за месяц:</div>
	<div><input type="text" value="3000" class="month-value-1"> USD</div>
</div>
<div>
	<div>Итоговый доход:</div>
	<div><input type="text" value="70000" class="total-value-1"> USD</div>
</div>


var input = $('input.main-tariffs-calc-value-1');
	var slider = $('.main-tariffs-calc-slider-1').slider({
		range: 'min',
		min: 500,
		max: 50000,
		value: [10000],
		step: 500,
		animate: 500,
		slide : function(event, ui) {
			slider_value = input.val(ui.value);   // это значение ползунка
			slider_value = Number(slider_value.val());                      // явно преобразуем его в число
			//console.log(slider_value);
			
        	daily_value = Number($('.daily-value-1').val());                // инпут для значения прибыли за 1 день
        	daily_value = slider_value * 1.8/100;
        	$('.daily-value-1').val(daily_value);                           // динамически выводим новое значение (при движении ползунка)
        	
        	month_value = ($('.month-value-1').val());                      // инпут для значения прибыли за 1 месяц
        	month_value = slider_value * 1.8/100*30;
        	$('.month-value-1').val(month_value);                           // динамически выводим новое значение (при движении ползунка)
        	
        	total_value = Number($('.total-value-1').val());                // инпут для значения итоговой прибыли
        	total_value = slider_value * 1.8/100*70 + slider_value;
        	$('.total-value-1').val(total_value);                           // динамически выводим новое значение (при движении ползунка)
		}
	});
	
	input.on('change', function() {
        slider.slider('value', $(this).val());
    });

$('.main-tariffs-calc-value-1').text($('.main-tariffs-calc-slider-1').slider('value'));
Ответить с цитированием