0

テーブルの並べ替えにhttp://datatables.netを使用しています。jsonを生成し、テーブルに行をロードします。1つのレコードについて、カスタムクラスを使用してカスタムを作成します。

<td class=""><span class="qty_new" data-id="1">50</span></td>
$(document).ready(function() {
    $('#example').dataTable({
        "bProcessing": true,
        "sAjaxSource": "ajax/tables/ajax.php"
    });

    $('.qty_new').click(function() {
        alert(1000);
    });
});

このコードはアラート(1000)を返さず、理由はわかりません。

4

1 に答える 1

0

これ.qty_newは、ページが読み込まれた後、フィールドがdatatablesによって作成されているためです。したがって、イベントリスナーを親要素に委任する必要があります。これを試して:

$('table').on('click', '.qty_new', function(){
    alert(1000);
});

または、古いバージョンのjQueryの場合は、次を使用しますdelegate()

$('table').delegate('.qty_new', 'click', function(){
    alert(1000);
});

ここでは親セレクターとして使用tableしました。コードでは、最も近い単一の静的要素である必要があります。

于 2012-04-09T15:21:15.223 に答える