Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Функция отрабатывает, а значение не то... (https://javascript.ru/forum/misc/74675-funkciya-otrabatyvaet-znachenie-ne.html)

the_little 30.07.2018 10:27

Функция отрабатывает, а значение не то...
 
Всем привет.

Есть такой вот код

$('#price_inp, #firstpay_inp, #srok_inp').change(function() {
		
		var $price = $('#price_inp').val(),
			firstPayProcent = $('#firstpay_inp').val(),
			periodYears = $('#srok_inp').val(),
			percent = 19;

		$('#firstpay_inp').change(function() {
			checkFirstpay();
		});
		
		$('#srok_inp').change(function() {
			checkSrok();
		});
		
		calcAnnuitet(
			$price,
			firstPayProcent,
			periodYears,
			percent
		);
	});


3 функции. 2 проверяют значение полей на минимальное и максимальное и соответсвенно подставляют минимальные и максимальные, если заданное значение выходит за пределы.

Третья функция считает кредит и строит график платежей.

И получается что.

Строится график. Все хорошо.
Потом я меняю значение ПЕРИОД (максимум 5) на 10.
Отрабатывает функция проверки и значение подставляется 5, вместо моей введенной 10.
Но вот функция расчета кредита все равно считает по 10.

Как я уже порядок функций не менял и куда их не ставил. Все равно, в поле число подставляется/подменяется правильно, а в функции считает по введенному.

Помогите, пожалуйста.

the_little 30.07.2018 10:31

Сейчас еще раз посмотрел на это, кажется получилось.

checkFirstpay();
		checkSrok();

		var $price = $('#price_inp').val(),
			firstPayProcent = $('#firstpay_inp').val(),
			periodYears = $('#srok_inp').val(),
			percent = 19;

		calcAnnuitet(
			$price,
			firstPayProcent,
			periodYears,
			percent
		);


А если тот же порядок но в таком виде - не правильно работает

$('#firstpay_inp').change(function() {
    checkFirstpay();
});

рони 30.07.2018 12:25

the_little,
первый пост, что вы хотите сделать в строках 8 и 12, синтактические они верные, но по сути бред.


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