2016-10-22 48 views
0

我正在研究可能有一個或多個JQuery UI滑塊的模板。Jquery UI滑塊多重啓動

我可以初始化從一個腳本所有滑塊,如果爲每個設置輸入上的數據選項或數據-id屬性內舉行?

HTML會是這樣的:

<label for="amount">Amount <input type="text" id="amount" data-id="5000" class="ui-slider-input" readonly /> 
    <div class="max-slider"></div> 
</label> 

我把它做一個單一的元素是這樣的:

var sliderInput = $('#amount'); 
var sliderDiv = sliderInput.next('.max-slider'); 
var sliderMax = sliderInput.attr('data-id'); 
sliderDiv.slider({ 
    range: "min", 
    value: sliderMax, 
    min: 0, 
    max: sliderMax, 
    step: 10, 
    slide: function(event, ui) { 
    sliderInput.val(ui.value); 
    } 
}); 
sliderInput.val(sliderMax)); 

但我想初始化多個滑塊,每一個不同的最大值和步值。

+0

你能告訴HTML,其中包括多個滑動元件,那麼你會的片段 - 希望 - 得到一個解決方案,它以你的情況特別相關,並將其保存我們從創建第二個滑塊... :) –

+0

@DavidThomas除了id和data-id之外,第二個或第三個滑塊將是相同的 – user500665

回答

2

你可以只遍歷與each()

var options = { 
    range : "min", 
    min : 0, 
    step : 10, 
    slide : function(event, ui) { 
     $(this).prev().val(ui.value); 
    } 
} 

$('.sliders').each(function() { 
    $(this).slider(
     $.extend({}, options, { 
      value : $(this).data('id'), 
      max : $(this).data('id'), 
     }) 
    ); 
}); 
+0

您可以用小提琴演示這個工作嗎?當我嘗試滑動時該值不再改變。 – user500665

+0

https://jsfiddle.net/adeneo/zxtur473/1/ – adeneo

+0

謝謝,這個工程到目前爲止。我更新了[Fiddle](https://jsfiddle.net/zxtur473/2/)以更接近我的需求。你能告訴我我在做什麼錯誤的最大值和步長值? – user500665