如何使.slider()
方法使用数组中的值?
我有相同的滑块我必须设置好几次,所以我想我会调用一次,并用索引输入值。这可能不是这样做的方法,但它是我的想法。
我希望每次调用滑块时单步执行并更改索引号,以便更新为接下来的6个值。我意识到这段代码不起作用,只是为了解释。
var yolo = ["yield", "true", "15.2", "308", "0.3", "[75.8, 241.4]", "tensile", "true", "37.7", "345", "[81.2, 243.3]"];
$( yolo[0] ).slider({
range: yolo[1],
min: yolo[2],
max: yolo[3],
step : yolo[4],
values: yolo[5],
slide: function( event, ui ) {
$( "#" + yolo[0] + "-value" ).val( ui.values[ 0 ] + " - " + ui.values[ 1 ] );
}
}); //When done, call again, just that updating the index numbers to the next 6
可能是.each()
$.extend()
?
答案 0 :(得分:1)
您可以执行以下操作:
var settings = {
"yield" : {
range: true,
etc..
},
"yield2" : {
range: true,
etc..
}
}
$.each(settings, function(key, value){
var _key = key;
$( "#" + _key ).slider(
$.extend(value, {
slide: function( event, ui ) {
$( "#" + _key + "-value" ).val( ui.values[ 0 ] + " - " + ui.values[ 1 ] );
}
})
);
});
额外信息:
答案 1 :(得分:0)
使用.each http://api.jquery.com/each/迭代数组。
答案 2 :(得分:0)
您可以只使用普通对象,而不是使用数组:
var yolo = {
range : true,
min : 15.2,
max : 308,
slide : function(){}
};
然后将其传递给滑块。
$(...).slider(yolo);