Библиотека noUiSlider
Пробовал сделать inputs[handle].value = new Intl.NumberFormat('ru-RU').format(parseInt(values[handle]));
Но в этом случае перестает работать изменение через инпут(если попытаться изменять значение например с 4000 на 6000, значение скидывается до первоначального т.е 4000, при этом если полностью удалить значение и написать новое - все отработает)
const rangeSliderInit = (item, start, min, max) => { // создаем функцию инициализации слайдера
const range = item.querySelector('.filter__line'); // Ищем слайдер
const inputMin = item.querySelector('.min'); // Ищем input с меньшим значнием
if (!range || !inputMin) return // если этих элементов нет, прекращаем выполнение функции, чтобы не было ошибок
const inputs = [inputMin]; // создаем массив из меньшего и большего значения
noUiSlider.create(range, { // инициализируем слайдер
start: start, // устанавливаем начальные значения
behaviour: 'tap',
connect: [true, false], // указываем что нужно показывать выбранный диапазон
range: { // устанавливаем минимальное и максимальное значения
'min': min,
'max': max
},
step: 1, // шаг изменения значений
}
)
range.noUiSlider.on('update', function (values, handle) { // при изменений положения элементов управления слайдера изменяем соответствующие значения
// inputs[handle].value = new Intl.NumberFormat('ru-RU').format(parseInt(values[handle]));
inputs[handle].value = parseInt(values[handle]);
});
inputMin.addEventListener('change', function () { // при изменении меньшего значения в input - меняем положение соответствующего элемента управления
range.noUiSlider.set([this.value, null]);
});
}