Я использую библиотеку YUI 2.7 для управления двойным ползунком (бегунок диапазона) на веб-странице.
Это прекрасно работает - однако я хотел позволить пользователям переключать значения диапазона с помощью Ajax - эффективно изменяя диапазон цен с "0-50 000" на подмножество (например, "50-250") без перезагрузки стр.
Проблема в том, что, похоже, значения из существующего ползунка не сбрасываются, даже когда я явно устанавливаю их обратно в NULL внутри функции, чтобы "перестроить" ползунок.
Ручки ползунка появляются вне позиции после запроса ajax (далеко от шкалы вправо), и значения ползунка, по-видимому, случайным образом колеблются.
Есть ли способ явно уничтожить объект ползунка YUI, кроме установки его ссылки на ноль? Или мне просто нужно как-то переопределить масштаб и минимальные / максимальные значения?
Спасибо за любую помощь (я постараюсь опубликовать ссылку на пример как можно скорее)
вот код:
function slider(bg,minthumb,maxthumb,minvalue,maxvalue,startmin,startmax,aSliderName,soptions) {
var scaleFactor = null;
var tickSize = null;
var range = null;
var dual_slider = null;
var initVals = null;
var Dom = null;
range = options.sliderLength;
if ((startmax - startmin) < soptions.sliderLength) {
tickSize = (soptions.sliderLength / (startmax - startmin));
}else{
tickSize = 1;
}
initVals = [ 0,soptions.sliderLength ], // Values assigned during instantiation
//Event = YAHOO.util.Event,
dual_slider,
scaleFactor = ((startmax - startmin) / soptions.sliderLength);
dual_slider = YAHOO.widget.Slider.getHorizDualSlider(
bg,minthumb,maxthumb,range, tickSize, initVals);
dual_slider.subscribe("change", function(instance) {
priceMin = (dual_slider.minVal * scaleFactor) + startmin;
priceMax = (dual_slider.maxVal * scaleFactor) + startmin;
});
dual_slider.subscribe("slideEnd", function(){ alert(priceMin + ' ' + priceMax); });
return dual_slider;
}