1

短い: 動的に生成された div 内で Jquery .load 関数をどのように使用しますが、クリックされていない ID をターゲットにしますか。

アイデアは、jquery の「$().append()」機能を使用して、「名前 + (連続 ID」) でクリックするたびに新しい div を追加するボタンがあるということです。Div がページに追加されると、"$().load()" が 2 つの選択ボックスと別の div で div を埋めます。

読み込まれると、ユーザーは最初の選択ボックスを使用して値を選択できます。

値が選択されると、Jquery の "$().on('click'" 機能も、最初にオプション ボックスがクリックされて変更されたかどうかを確認します。

この時点で、最初のオプション ボックスが選択されて変更された後、"().load()" を使用して、2 番目のオプション ボックスを囲む "#ajax-load-1" div が更新されます。これは、「.load」を取得してdivのIDを確認できない場所です。

私は多くの検索を行い、.on("click" を使用して動的に生成されたがクリックされなかった要素の ID を取得する方法に関する多くのチュートリアルを手ぶらで見つけました。

上記のコードの簡単な例を次に示します。

HTML:

<!-- |This box has been dynamically generated and named through a Jquery .load() | -->

<div id="dynamic-box-1">

<select id="select-1">

    <option>1</option>

    <option>2</option>

</select>

<!-- | div to be .load()'ed after an option is selected in #select-1 |-->
<div id="ajax-load-1">

    <select id="ajax-select-1">

        <option>1</option>

        <option>2</option>

    </select>

</div>

</div>

<!-- | End of dynamic box | -->

Jクエリ

$("#select-1").on("click", function(){

$("#select-1").change(function(){

       $("#ajax-load-1").load("../php/ajax-load-1.php");

});

});
4

1 に答える 1

0

イベント委任を使用してみる

交換

$("#select-1").change(function(){

$(document).on('change', '#select-1', function(){

そして、それを囲んでいるクリックイベントを削除します。

HTML提供した がアプリケーションで表示されると予想されるものである場合。id次に、このようなものでdivのを取得できます

 $(document).on('change', '#select-1', function(){
     var divId = $(this).next('div').attr('id');
     $("#" + divId ).load("../php/" + divId + '"php");
 });
于 2013-06-19T00:15:06.557 に答える