0

jquery datatables プラグインを使用しています。ID が連続していない、または ID が欠落しているデータベース行が多数あります。

id   actual row
1     1
2     2
3     3
..
9     9
11    10

各行の先頭にボタンを配置しました。これは、onclick が行を取得して別の関数に送信し、さらに処理します。datatables 形式に従うと、HTML は次のようになります。

<table id="myDataTable">
    <thead>
        <tr>
            <th>SEND TO</th>
            <th>ROW</th>
            <th>id</th>
            <th>email</th>
            <th>notes</th>
            .......
    </thead>      
    <tbody>

          <tr id="1">
             <td><button value="1" name="button1">PROCESSING</button></td>   
             <td>1</td>

             <td>1</td>
             .....

私のJavaScriptは次のようになります:

<script language="javascript" type="text/javascript">

        $(document).ready(function () {
                 $('#myDataTable').dataTable();
                 });


       $(document).ready(function () {

                $('button[name=button1]').click(function(){
                var id= $(this).attr("value");
               console.log(id);
               window.location.href="AjaxController/sendToProcess/"+id;

                });

        });
    </script>

行 10 ( id 11 ) まではすべて期待どおりに動作します。これを超えると、クリック機能が起動していないように見えます (コンソールには何も記録されません)。コンソールにエラーは表示されません。なぜこれが起こっているのか、どうすれば修正できますか

4

1 に答える 1

3

ページテーブルがあるため、ここで動的要素を扱っているようです

イベント委任を使用する必要があります

$(document).on('click', 'button[name=button1]', function(){
    var id= $(this).attr("value"); //or $(this).closest('tr').attr('id')
    console.log(id);
    window.location.href="AjaxController/sendToProcess/"+id;

});
于 2013-08-07T03:06:56.340 に答える