2011-09-17 12 views
0

を選択し、次の目標、私は選択ボックスの選択した値を増減簡単なスクリプト持って、箱の増加値を選択します。jQueryのだけ

$(".inc").click(function(){ 
    $("select option:selected").next().prop("selected", true); 
}); 
$(".dec").click(function(){ 
    $("select option:selected").prev().prop("selected", true); 
}); 

をしかし、私は1つの形で20の選択を持ち、かつたくありませんスクリプトを次の選択ボックス(例:select#1、sesect#2 ....)に関連付けるだけの新しい#idsでスクリプトを繰り返さなければならないようにするためです。

現在、ユーザーがinc選択ボックスでは、フォーム内のすべての選択値が更新されます。

誰かが、スクリプト実行時に次の即時選択ボックスのみを対象にする方法を知っていますか?

ありがとうございます!

答えて

1

選択メニューに関して.incはどこですか? 20の選択メニューと20の選択メニューがありますか?

構造がある場合:

<div class="inc">increment</div> 
<select><option></option><option></option></select> 

あなたが更新

$(".inc").click(function(){ 
$(this).next('select > option:selected').next().prop("selected", true); 
}); 

使用することができるはずです:.next(の使用に注意してください)をお使いのHTMLの構造に依存します。兄弟姉妹()を使用するのが適切です。 http://jsfiddle.net/JZJZh/

+0

こんにちは、はい - クラス "inc"で20個、クラスで "dec"の20個のボタンがあります - これはまだ動作しますか? – Marc

+0

はい、まだ動作していますが、next()はDOM要素に続いてただちに取得されるため、 '

'の場合は 'dec'だけが動作します。私は「兄弟」を使用するようにスクリプトを修正しました(つまり、同じDOM階層であれば動作します)。実際の例があります:http://jsfiddle.net/JZJZh/ – Benno

+1

はい、あなたの助けに感謝しています。 – Marc

関連する問題