2

よく見ていて、近くにいると思いますが、本当に苦労しています。

ドロップダウンメニューにデータを入力するためにAJAXを介してコンテンツを取得しているページがあります。

1つのドロップダウンから始めて、選択したものが次のセットなどを取得します。

後のメニューの1つ(つまり、元々表示されていない)のリンククリックを介してドロップダウンでオプションを選択できるようにしたいのですが、AJAXのためにjQueryバインディングの奇妙さがありますが、わかりませんこれを行う方法を説明します。

私のhtml(ここの選択リストはAJAXが入力されるまで存在しません)

<form>
<select name="myList">
   <option value="1">Option 1</option>
   <option value="2">Option 2</option>
   <option value="3">Option 3</option>
</select>
<a href="javascript:void(0)" id="option1">Select option 1</a>
<a href="javascript:void(0)" id="option2">Select option 2</a>
<a href="javascript:void(0)" id="option3">Select option 3</a>
</form>

私のjq:

$('#option1').click(function() {
    $('select[name=myList] option[value=1]').attr('selected', 'selected');
});
$('#option2').click(function() {
    $('select[name=myList] option[value=2]').attr('selected', 'selected');
});
$('#option3').click(function() {
    $('select[name=myList] option[value=3]').attr('selected', 'selected');
});

これはオプションの選択で機能しますが、マウスクリックをシミュレートしません。これは(何らかの理由で)次のコンテンツを表示するために必要です(つまり、適切なオプションを選択するだけでなく、クリックする必要があります)。 on。つまり、onClickイベントを起動しますが、それでも次のコンテンツをロードできません。悲しいことにこれを変更することはできません:/)。

私はここで何かを実装しようとしましたhttp://docs.jquery.com/Frequently_Asked_Questions#Why_do_my_events_stop_working_after_an_AJAX_request.3F

しかし、成功しませんでした。アイデアをありがとう。

4

1 に答える 1

1

いつでも自分でクリックをシミュレートできますか?必要な変更イベントですが、次のようにしてください。

デモ:http://jsfiddle.net/xsP2A/

$('#option1').click(function() {
    $('select[name=myList] option[value=1]').attr('selected', 'selected');
    $('select[name=myList]').change();
});
$('#option2').click(function() {
    $('select[name=myList] option[value=2]').attr('selected', 'selected');
    $('select[name=myList]').change();
});
$('#option3').click(function() {
    $('select[name=myList] option[value=3]').attr('selected', 'selected');
    $('select[name=myList]').change();
});
于 2012-04-19T20:06:19.423 に答える