在bootstrap数据表中分页后未单击的行单击事件

时间:2015-03-18 10:05:42

标签: jquery datatable twitter-bootstrap-3

我正在使用bootstrap数据表进行分页。我还为每一行添加了click事件。但是click事件只在第一页中触发。排序或分页后它不起作用。这是我的PHP代码来显示数据

        <table id='tblCustomers' class='table table-bordered table-striped'>
                                 <thead>
                                  <tr>
                                              <th>Customer id</th>
                                               <th>Company</th>
                                              <th>First name</th>
                                              <th>Last name</th>
                                              <th>Email</th>
                                              <th>Last login</th>
                                              <th>No Of logins </th>
                                   </tr>
                                  </thead>
                                 <tbody>";
                                foreach ($this->result as $row) {
                                    echo "<tr>
                                            <td>{$row['customerid']} </td>
                                            <td>{$row['company']} </td>
                                            <td>{$row['firstname']} </td>
                                            <td>{$row['lastname']} </td>
                                            <td>{$row['email']} </td>
                                            <td>{$row['lastlogin']} </td>
                                            <td>{$row['count']}</td>
                                          </tr>";

                                     }
                                  echo "</tbody></table>"; 

,jquery代码是

                        $(function () {
                         $("#tblCustomers").dataTable();
                         $("#tblCustomers tr").click(function(){
                         alert($(this).find('td:first').text());
                         });
                       });

3 个答案:

答案 0 :(得分:7)

将代码更改为以下。这是致电Event Delegation

    $(function () {
           $("#tblCustomers").dataTable();
           $(document).on('click',"#tblCustomers tr",function(){
                     alert($(this).find('td:first').text());
           });
    });

答案 1 :(得分:0)

尝试使用$("#tblCustomers tr").on('click', function(){...}代替常规click ..

答案 2 :(得分:0)

请注意,即使搜索和过滤器也不会进行行点击事件。如果您在行上提供事件,例如点击,请双击。

在过滤器和开启搜索时,请确保调用包含所有自定义脚本的函数。