0

次の Jquery コードがありますが、これは 40% しか機能していません。PHPで動的に生成された製品モジュールがいくつかあります。選択コンボボックスを含み、オプションを選択すると、私のjqueryコードで起動するはずですが、残念ながら最初のモジュールの場合にのみ実行されます。

    <div class="ajax_bar">

            <select id="ajax_call" size="1" name="Weitere Produkte">
                <option value='50'>Weitere Produkte</option>
                <option value='100'>weitere 100</option>
                <option value='150'>weitere 150</option>
            </select>

        </div>    

$(document).ready(function(){

    $("#ajax_call").change(function(){
        var domain = document.domain;
        var count = $('#ajax_call :selected').val();
        var $parent = $(this).closest(".product_box");
        var modul_title = $("h4", $parent).text();
});
4

2 に答える 2

0

他のモジュールのコンボ ボックスごとに同じ ID が生成されていますか。それがおそらく最初のものだけが実行される理由だと思います。ID の代わりにクラスを使用して、変更イベントをトリガーできます。

   <select class="ajax_call" size="1" name="Weitere Produkte">
  $(".ajax_call").change(function(){})
于 2012-05-18T13:13:26.723 に答える
0

セレクターが間違っています。ID による選択は、1 つの要素に対してのみ機能します。一般的な選択にはクラスを使用します。クラス ajaxbar の div 内に select 要素が必要です。

$(document).ready(function(){
    $(".ajax_bar select").change(function(){
       var item=$(this);
       var domain = document.domain;
       var count = item.val();
       var $parent = item.closest(".product_box");
       var modul_title = $("h4", $parent).text();
       alert("count : "+count)
    });
});

これは、指定したものと同じn個の HTML マークアップで機能します (select 要素ごとに一意の ID を使用していると仮定します。そうでない場合は、ID は要素に対して一意である必要があります) 。

JsFiddle サンプル http://jsfiddle.net/AZAZn/5/

于 2012-05-18T13:18:37.290 に答える