2013-11-17 3 views
1

Есть ли способ добавить обработчик к слайдеру UI после инициализации?добавить обработчиков в слайдер JQuery UI

теперь я:

var values = [0,50,100]; 
sliderbox.slider({ 
    values : values, 
    min : 0, 
    max : 100 
}); 

но

sliderbox.slider("option", "values", [ 0, 50,75,100 ]); 

не работает, как ожидалось. он просто устанавливает новые значения 0, 50,75 для существующих обработчиков.

+0

Дубликат [jQuery UI - Slider - Как добавить значения] (http://stackoverflow.com/questions/19348528/jquery-ui-slider-how-to-add-values). Нет ответа на вопрос Q. –

+0

И дубликат [Как добавить несколько дескрипторов в ползунок jQuery на лету] (http://stackoverflow.com/questions/9590929/how-to-add-multiple-handles-to-a- JQuery-слайдер на лету) –

ответ

1

Кажется, что нет способа изменить массив значений значений с помощью методов виджетов слайдера. Другой вариант его изменения также терпит неудачу. Например:

$("#slide_me").slider({ 
    animate: true, 
    value: 0, 
    values: [0, 50, 60, 70, 80], 
    min: 0, 
    max: 100, 
    slide: function(event, ui) { 
     $("#my_value").val(ui.value); 
    } 
}); 

$("#slide_me").slider("values", [10, 20, 30, 40, 50, 60, 70]); 

устанавливает только первые 5 обработчиков.

Кажется, вам нужно полностью переопределить ползунок.

Вы можете попробовать сделать это вручную. Последний обработчик, который имеет значение 50 добавляется в качестве

<a class="ui-slider-handle ui-state-default ui-corner-all" href="#" style="left: 50%;"></a> 

Так обработчики для значений 60 и 70 могут быть добавлены, если вы строите их подобным образом.

Смежные вопросы