Взгляните на этот плагин jQuery UI: http://www.filamentgroup.com/lab/update_jquery_ui_slider_from_a_select_element_now_with_aria_support/
На самом деле это более сложная версия слайдера jQuery UI, созданная теми же людьми, которые спонсируют jQuery UI.Однако при этом вместо списков используется HTML-элемент select
, так что вы можете удалить функцию добавления тиков из плагина и использовать ее вместо этого (не просто, но, надеюсь, лучше, чем написать свой собственный!).
Вот что использует плагин:
var scale = sliderComponent.append('<ol class="ui-slider-scale ui-helper-reset" role="presentation"></ol>').find('.ui-slider-scale:eq(0)');
jQuery(selectOptions).each(function(i){
var style = (i == selectOptions.length-1 || i == 0) ? 'style="display: none;"' : '' ;
var labelText = (options.labelSrc == 'text') ? this.text : this.value;
scale.append('<li style="left:'+ leftVal(i) +'"><span class="ui-slider-label">'+ labelText +'</span><span class="ui-slider-tic ui-widget-content"'+ style +'></span></li>');
});
Для каждого элемента option
он добавляет тик, с меткой, добавленной другим блоком кода ниже.То, что он делает, - это в основном вставка списка диапазонов в элемент слайдера, причем текст берется непосредственно из атрибута значения элемента.Вам также понадобится немного CSS, чтобы правильно оформить тики.