2012-04-10 53 views
0

我想構建一個使用jQuery UI滑塊的項目。它包括調查人員和用戶必須告訴他們的東西有多大的把握,這就是其中的滑塊的用武之地。是否有可能將參數傳遞給jQuery UI滑塊

$(function() { 
    $("#slider-range-min1").slider({ 
     range: "min", 
     value: 0, 
     min: 0, 
     max: 100, 
     slide: function(event, ui) { 
      jQuery("#amount1").val(ui.value + "%"); 
     } 
    }); 
$("#amount1").val($("#slider-range-min1").slider("value") + "%"); 
}); 

因爲一個問題可能有4-5個答案,每個答案都有一個與之關聯的滑塊,對於20個問題的調查,將會有太多的單獨滑塊功能。我可以動態地填充它們,但是必須有更好的方法來做到這一點。就像使用一個函數控制所有滑塊一樣,只需將div ID和輸入ID傳遞給它即可。

我試過使用類而不是ID,但是當我這樣做時,滑塊就會消失,因爲jQuery Ui似乎在運行時將其自身類的少量附加到滑塊上。

謝謝

+0

你是什麼意思通過傳遞參數?如果您希望滑塊的數據可用於標準屬性(id,名稱等)以外的其他位置,則可以使用如下數據爲自定義屬性添加前綴:data-answer-data =「some data」。 – tjscience 2012-04-10 01:44:53

+0

傳遞數據像div ID和輸入ID,我已經提到他們在我的問題以及 – Kaushtuv 2012-04-10 01:48:42

回答

0

您是否試圖在一次調用中簡單製作所有答案div滑塊?如果是的話,這應該工作:

<div id="answer-1" class="answer"></div> 
<div id="answer-2" class="answer"></div> 
<div id="answer-3" class="answer"></div> 

$(".answer").slider({ 
     range: "min", 
     value: 0, 
     min: 0, 
     max: 100, 
     slide: function(event, ui) { 
      jQuery("#amount1").val(ui.value + "%"); 
     } 
}); 
+0

像我之前說的使用類不起作用的某種原因。我試過,我試圖讓每個滑塊填滿不同的輸入框,類似於這個例子:http://stackoverflow.com/questions/9841875/multiple-sliders-with-the-same-options-all-in一功能,但使用ID,因此我在尋找如果我可以傳遞參數的功能,如果我可以如何做到這一點。謝謝 – Kaushtuv 2012-04-10 01:46:36

1

那麼tjscience的答案是正確的,但可能不完整的你。這是怎麼回事:

<div class="container"> 
<input type="text" class="inputField"/> 
<div id="answer-1" class="answer"></div> 
</div> 
<div class="container"> 
<input type="text" class="inputField"/> 
<div id="answer-2" class="answer"></div> 
</div> 
<div class="container"> 
<input type="text" class="inputField"/> 
<div id="answer-3" class="answer"></div> 
</div> 

$(".answer").slider({ 
    range: "min", 
    value: 0, 
    min: 0, 
    max: 100, 
    slide: function(event, ui) { 
     var container = $(ui.handle).parents(".container"); 
     $(container).find(".inputField").val(ui.value); 
    } 
}); 
相關問題