-1

動的に作成される2つの異なるhtml選択用の2つのプレースホルダーがあります

var dropdown1 = '#select1';
var dropdown2 = '#select2';

後で、要素を動的に作成してイベントを添付します...

$('some div').append(dropdown1);
$('some div').append(dropdown2);
$(dropdown1).append('<option>' + value + '</option>'); 
$(dropdown1).append('<option>' + value + '</option>'); 

次に、イベントリスナーを追加します...

$(document.body).on('change', dropdown1, function() {
alert($(dropdown1).val());
alert($(dropdown2).val());

});

ドロップダウン1とドロップダウン2の両方の値を取得できるようにしたいのですが、代わりに空の配列または未定義を取得します。

これらの動的に作成された選択の両方の値を取得する方法を誰かが知っていますか?

4

1 に答える 1

2

jQueryオブジェクトへの参照を保持しているのではなく、IDの文字列のみを保持しています。これを試して:

$(document).on('change', dropdown1, function() {
    alert($(dropdown1).val()); /* or, you could use $(this).val() */
    alert($(dropdown2).val());    
});

これは、on()に渡されたセレクターパラメータのために最初のドロップダウンを変更した場合にのみ発生します。

于 2012-11-15T01:29:32.433 に答える