【问题标题】:Check All box does not work with Jquery DataTable version 1.10.5选中所有框不适用于 Jquery DataTable 版本 1.10.5
【发布时间】:2015-06-05 01:00:14
【问题描述】:

我有一个包含 3 列(复选框列、用户 ID、全名)的 jquery 数据表。当我将它与 jquery.dataTables.js 和 jquery.dataTables.min.js 版本 1.9.4 一起使用时,“check_all”复选框工作正常(意味着单击“check_all”时检查了所有行)。但是,我必须使用 dataTable 1.10.5 版才能使用“draw()”函数。但是一旦我开始使用新版本,check_all 复选框停止工作,.click() 中的 alert() 没有被调用。我试图将 .click 函数放在 $(document).ready() 中,但没有解决问题。有人知道吗?谢谢!!

脚本:

 $('#check_all').click(function() 
 {      
    alert("here");
    var oTable = $('#users').DataTable();
  });

HTML 部分:

<DIV id ="tablePanel">
   <table class="userTable" cellpadding="4" rules="all" border="1" id="users">      
      <THEAD>                                                                 
         <TR>                                    
           <th><input type="checkbox" id ="check_all"  class="call-checkbox" name="check_all">Select  users</th>
           <th>User Id</th>
           <th>Full Name</th> 
         </TR>
      </THEAD>
      <TBODY>
      <TBODY>
    </table>   
</DIV>

【问题讨论】:

    标签: javascript jquery html datatable


    【解决方案1】:

    您缺少单击事件处理函数上的关闭“)”。您还应该通过将它们放在 jQuery 的 document.ready() 函数中来确保在 DOM 准备好之后发生任何绑定。

    完整的语法是 $(document).ready(function () { .. });但它可以缩短为 $(function() { ... });

    $(function () {
        $('#check_all').click(function () {
            alert("here");
            var oTable = $('#users').DataTable();
        });
    });
    

    演示:http://jsfiddle.net/BenjaminRay/qe0ckve8/

    【讨论】:

    • 这与从一个版本的 DataTables 更改为另一个版本有什么关系?
    • 它可能不是,但是那个错字会阻止处理程序的正确设置。
    • 公平地说,您的回答之前没有提到错字:)
    • 我只是尝试添加 $function(),但仍然无法在点击中调用警报。我还修正了原帖上的错字。
    • 在我的答案和小提琴中尝试更新的代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多