【发布时间】:2013-08-15 09:53:38
【问题描述】:
我正在尝试对一个正常工作的 jQuery UI 滑块进行一些小改动,以便第一个滑块的第一个值向用户显示“全部”而不是“0”。
我已经尝试根据这篇文章Jquery ui slider with string values? 中的示例更改滑块,但是我目前无法找到可行的解决方案。
我的代码目前是这样的:
<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);
});
我想将#peopleSlider 的最小值更改为显示“全部”而不是“0”。我添加了 var 步骤:
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);
}
}
});
【问题讨论】:
标签: jquery jquery-ui jquery-ui-slider