verstaburo / Space-pool

1 stars 0 forks source link

Нужна глобальная функция для инита бегунка в виджете price range #59

Closed vgaicuks closed 3 years ago

vgaicuks commented 4 years ago

subj. для формы поиска

allkrain commented 4 years ago

Добавила window.globalFunctions.rangeInit

vgaicuks commented 4 years ago

Спасибо, бегунок появился, а вот плейсхолдеры наползли на инпуты, что еще надо вызвать?

Screen Shot 2020-09-10 at 20 03 54
allkrain commented 4 years ago

Вроде раньше уже было window.setLabelPosition, window.setLabelListeners

vgaicuks commented 4 years ago

Спасибо, припамятовал window.setLabelPosition.

Есть еще 2 вопроса по поводу бегунка:

  1. Как установить значение в инпуты, чтоб noUiSlider его респектовал
  2. Как поймать ивент, когда юзер мышкой устанавливает значения инпутов (change его не ловит)
allkrain commented 4 years ago

Просто слушайте событие не на ипутах, а на бегунке события возникают на элементе с атрибутом data-nd-range-container. Прослушку я вешала примерно так $('[data-nd-range-container]').get(0).noUiSlider.on('change', (values, handle) => {});. Вот ссылка на события которые можно слушать https://refreshless.com/nouislider/events-callbacks/

allkrain commented 4 years ago

Передать значения из инпутов в бегунок можно через метод sldr.noUiSlider.set([minVal, maxVal]);, где sldr - это элемент data-nd-range-container. Собственно они сейчас передаются, но только после потери фокуса в инпуте.