Я пытаюсь внести небольшое изменение в рабочий слайдер пользовательского интерфейса jQuery, чтобы первое значение первого слайдера отображало пользователю «Все» вместо «0».
Я попытался изменить ползунок на основе примера в этом сообщении Jquery ui slider со строковыми значениями? однако в настоящее время я не могу найти работающее решение.
В настоящее время мой код выглядит так:
<script>
$(function() {
$("#peopleSlider").slider({
min: 0,
max: 10,
value: 0,
animate: true,
slide: function(event, ui) {
$( "#people" ).val( ui.value );
var top_value_str = ui.value>=99 ? ui.value+'+' : ui.value;
$("#peopleSlider .tab-note:first").text(top_value_str);
}
});
$("#yearSlider").slider({
min: 2013,
max: 2015,
value: 2013,
animate: true,
slide: function(event, ui) {
$( "#year" ).val( ui.value );
var top_year_str = ui.value>=2099 ? ui.value+'+' : ui.value;
$("#yearSlider .tab-note:first").text(top_year_str);
}
});
$('.ui-slider-horizontal .ui-slider-handle').append('<span class="tab-note"></span>').mousedown(function(e) { e.preventDefault(); });
$( "#people" ).val( $( "#peopleSlider" ).slider( "value" ) );
$( "#year" ).val( $( "#yearSlider" ).slider( "value" ) );
// Set default values - for sale
var for_sale_init_bed_slide_val = $("#peopleSlider").slider("value");
var for_sale_top_value_str = for_sale_init_bed_slide_val>=99 ? for_sale_init_bed_slide_val+'+' : for_sale_init_bed_slide_val;
$("#peopleSlider .tab-note:first").text(for_sale_top_value_str);
var for_sale_init_year_slide_val = $("#yearSlider").slider("value");
var for_sale_top_year_str = for_sale_init_year_slide_val>=2099 ? for_sale_init_year_slide_val+'+' : for_sale_init_year_slide_val;
$("#yearSlider .tab-note:first").text(for_sale_top_year_str);
});
I want to change the min value for the #peopleSlider to show 'All' instead of '0'. I added var steps:
var steps = [
"All",
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10"
];
Но я не совсем уверен, как/где добавить функции «шаги» в скрипт слайдера?
--
РАБОЧЕЕ РЕШЕНИЕ
$("#peopleSlider").slider({
min: 0,
max: 10,
value: 0,
animate: true,
slide: function(event, ui) {
$( "#people" ).val( ui.value );
var top_value_str = ui.value >= 99 ? ui.value +'+' : ui.value;
if(top_value_str < 1) {
//div of text that is being displayed
$("#peopleSlider .tab-note").text("Any");
} else {
//div of text that is being displayed
$("#peopleSlider .tab-note").text(top_value_str);
}
}
});