kamikadze1996
@kamikadze1996
{[]}

Как сохранить начальное значение?

Как сохранить начальное значение инпутов не вынося переменыне в глобальную обл. видимости??
Если писать так то при изменении ползунка цен они обновляются. Вот код:
function checkStatePrice() {
        var inputValMin = +$('.categories-filter').find('.price-label .price-input-min').val();
        var inputValMax = +$('.categories-filter').find('.price-label .price-input-max').val();
        if(+($('.categories-filter').find('.price-label .price-input-min').val()) !== inputValMin || +($('.categories-filter').find('.price-label .price-input-max').val()) !== inputValMax) {
            console.log(1);
            $('.price-wrap.categories-filter').show();
        } else {
            $('.price-wrap.categories-filter').hide();
        }
    }
  • Вопрос задан
  • 114 просмотров
Решения вопроса 1
Negezor
@Negezor
Senior Shaurma Developer
Зачем так делать, чем вам переменные выше не угодили? Заверните в анонимную функцию и будет вам счастье.
var checkStatePrice = (function(){
	var $priceLabel = $('.categories-filter').find('.price-label');
	var $priceWrap = $('.price-wrap .categories-filter');

	var $inputMin = $priceLabel.find('.price-input-min');
	var $inputMax = $priceLabel.find('.price-input-max');

	var minValue = parseInt($inputMin.val());
	var maxValue = parseInt($inputMax.val());

	return function(){
		var min = parseInt($inputMin.val());
		var max = parseInt($inputMax.val());

		if (min !== minValue || max !== maxValue) {
			$priceWrap.show();
		} else {
			$priceWrap.hide();
		}
	}
})();
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@JuniorNoobie
Сижу в поддержке, пишу мелкие проекты
Да много способов. Мне на ум пришли такие:
1) Использовать глобальные переменные в js-коде;
2) Использовать атрибут default-value у тегов;
3) Использовать local storage или куки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы