2012-03-23 13 views
0

jQuery UIを使用して、同じオプション(調査)で6つのスライダを作成しています。同じオプションの複数のスライダがすべて1つの機能に含まれていますか?

これらのスライダーをすべて1つの機能に統合する方法はありますか?

もしそうなら、それはこのようなものになるだろう:

$('#slider').each(function() { 
    var $this = $(this).closest('#slider'); 

    $($this).slider(
    { 
     value: 100, 
     min: 0, 
     max: 100, 
     step: 25, 
     slide: function (event, ui) { 
      $('#amount').val('$' + ui.value); 
     } 
    }); 
    $('#amount').val($('#slider').slider("value")); 

、私はいくつかの関連の質問を見つけることができるかどうかを確認するために周りを見回したが、私はまだそれを解決することはできません。現在、6つのスライダのうち最初のスライダのみが表示されます。

+1

代わりに#sliderのIDをクラスに変更してください。 –

+0

好きな人は同じコールバックを持っていることに気付いています。あなたはそれについて確かですか? –

+0

@SimonEdströmええと、そういうことが、私が個々人であることに対する私の懸念の一つです。それらをすべてクラスに変更すると、スライダの1つの値が他のものを反映します。必須ではありません。 –

答えて

1

問題の内容が不明です。このjsFiddle exampleは、単なる基本的な設定であることを示しています。スライダを動かすと、スライダの値が入力フィールドに表示されます。

jQueryの

$('.slider').slider({ 
    slide: function(event, ui) { 
     $('input:eq('+ $(this).index() +')').val(ui.value); 
    } 
});​ 

HTML

<div class="slider"></div> 
<div class="slider"></div> 
<div class="slider"></div> 
<div class="slider"></div> 
<div class="slider"></div> 
<div class="slider"></div> 
<input /><br /> 
<input /><br /> 
<input /><br /> 
<input /><br /> 
<input /><br /> 
<input />​ 

編集:コメントを反映するために更新されたコード。

+0

でも問題はありませんが、ユニークなスライダーごとに入力フィールドを設定したいと考えています。あなたはこれを行う方法を知っていますか? $ this.closest( 'input')のようなものを実装できますか?val(ui.value); ? –

+1

このような意味です:http://jsfiddle.net/j08691/kK5FY/7/ – j08691

+0

。うわーは私が予想したよりも簡単だった。思った以上のように見える。ありがとうj –