0

我怎样才能使它.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()with $.extend()

4

3 回答 3

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. jQuery.扩展
  2. jQuery.each
于 2013-03-01T15:59:40.957 回答
0

您可以只使用普通对象,而不是使用数组:

var yolo = {
   range : true,
   min : 15.2,
   max : 308,
   slide : function(){}
};

然后将其传递给滑块。

$(...).slider(yolo);
于 2013-03-01T16:00:10.197 回答
0

使用 .each http://api.jquery.com/each/遍历数组。

于 2013-03-01T15:56:48.373 回答