这有点像这里发布的问题:Yes or no toggle or slider -但是我不能在这个例子中得到解决方案。
我有一个水平增量范围滑块,我想要修改它,以便将值1-2-3的标注解码为小-中-大
我试过使用数组来解码,但是我就是不能让它正常工作。
这是我到目前为止所知道的:
<script>
$(function() {
$( "#slider-range" ).slider({
range: true,
min: 1,
max: 3,
step: 1,
values: [ 2, 3 ],
slide: function( event, ui ) {
$( "#amount" ).val( ui.values[ 0 ] + " - " + ui.values[ 1 ] );
}
});
$( "#amount" ).val( $( "#slider-range" ).slider( "values", 0 ) +
" - " + $( "#slider-range" ).slider( "values", 1 ) );
});
</script>因此,如果选择了位置2-3(默认情况下),标签将显示为“medium-large”。
任何帮助或指导都将不胜感激!
谢谢
发布于 2012-01-12 20:37:39
那这个呢?
它使用映射器对象而不是数组,但还包括一个返回字符串的函数,而不是自己创建它:
$(function() {
// mapper
var valueMap = {
1 : "small",
2 : "medium",
3 : "large",
getText : function(arr) {
return this[arr[0]] + " - " + this[arr[1]];
}
};
// initial range slider values
var initial = [2, 3];
// initialize slider
$( "#slider-range" ).slider({
range: true,
min: 1,
max: 3,
step: 1,
values: initial,
slide: function( event, ui ) {
$("#amount").val(valueMap.getText(ui.values));
}
});
// initialize value display
$("#amount").val(valueMap.getText(initial));
});https://stackoverflow.com/questions/8834532
复制相似问题