Mfilter. Изменение значений вручную в слайдере.

Добрый день!

Хотелось бы иметь возможность вручную вводить значения в инпуты в сладере помимо перемещения бегунков.
В файле assets/components/msearch2/js/web/default.js закомментировал:
//			imin.attr('readonly', true);
//			imax.attr('readonly', true);
Теперь ввести значение можно, но это значение не меняет положения бегунка. Может кто-то это уже сделал, поделитесь кодом, пожалуйста.
Александр Суркин
04 февраля 2014, 12:46
modx.pro
1 252
0

Комментарии: 7

Василий Наумкин
05 февраля 2014, 07:58
0
Держи готовый код, постараюсь его добавить в новую версию:
//imin.attr('readonly', true);
imin.on('change keyup input click', function() {
	if (this.value.match(/[^0-9]/g)) {this.value = this.value.replace(/[^0-9]/g, '');}
	if (this.value > vmax) {this.value = vmax;}
	else if (this.value < vmin) {this.value = vmin;}
	$this.slider('values',0,this.value);
});
//imax.attr('readonly', true);
imax.on('change keyup input click', function() {
	if (this.value.match(/[^0-9]/g)) {this.value = this.value.replace(/[^0-9]/g, '');}
	if (this.value > vmax) {this.value = vmax;}
	else if (this.value < vmin) {this.value = vmin;}
	$this.slider('values',1,this.value);
});
Изменения срабатывают при потере фокуса поля ввода, или нажатии Enter. Проверять можно здесь.
    Володя
    05 февраля 2014, 09:34
    0
    Василий привет. проверил.
    Попробуй ползунок убери с максимума и потом вручную набить 1000… фильтр не сработает.
    Володя
    05 февраля 2014, 09:39
    0
    аналогично и с мин значением. Еще нельзя ввести первую цифру меньше значения в первой колонке.
    То есть допустим мин — 5, тогда в макс. я не могу написать 250 или 300…
    Александр Суркин
    05 февраля 2014, 10:31
    0
    Сначала не работало у меня.
    Заменил 'change keyup input click' на 'blur', теперь работает.
    Большое спасибо за помощь!
      Николай
      08 марта 2017, 21:12
      0
      Всем ПРи! Пробую обновить дизайн стандартного слайдера цены mfilter2. Пробывал разное ..(

      Код:
      <fieldset id="mse2_[[+table]][[+delimeter]][[+filter]]">
      	<h4 class="filter_title">[[%mse2_filter_[[+table]]_[[+filter]]]]</h4>
      	<div class="mse2_number_slider"></div>
      	<div class="mse2_number_inputs">
      		[[+rows]]
      	</div>
      </fieldset>
      
      
      
      <div class="price-range-holder">
      
                      <input type="number" class="price-slider" value="" >
      
      
      </div>

      Работает код тут
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        7