2012-04-10 10 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の質問の調査のために、あまりにも多くの個々のスライダー機能があるでしょう。私はそれらを動的に配置することができますが、これを行うためのより良い方法が必要です。すべてのスライダを1つの関数で制御し、div idとinput idを渡すだけです。

IDの代わりにクラスを使用しようとしましたが、スライダはランタイム時にスライダに接続するように見えるため、スライダが消えてしまいます。

おかげ

+0

パラメータを渡すことはどういう意味ですか?標準属性(ID、名前など)以外のデータをスライダーで使用できるようにする場合は、カスタム属性にdata:answer-data = "some data"のようなデータを付加することができます。 – tjscience

+0

div idやinput idのようなデータを渡しても、私の質問でも言及しています。 – Kaushtuv

答えて

0

あなたは、単に1回の呼び出しでの回答の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 -one-functionでもidを使っているので、関数にパラメータを渡すことができるかどうかを調べていました。ありがとう – Kaushtuv

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); 
    } 
}); 
関連する問題