如何选择数据表中的所有复选框

时间:2015-11-10 11:15:44

标签: javascript jquery datatables

我想选中所有复选框

我在像这样的数据表的标题中输入了

  <th style="width: 25%" ><input type="checkbox" name="checkall" class="select-checkall" id="checkall" value=""></th>

我像这样使用它来检查它但只能在iam

的页面中工作
   $("#checkall").click(function(){
            $(':checkbox').prop('checked', true);                       
     });  

检查这个小提琴http://jsfiddle.net/juxHn/46/

1 个答案:

答案 0 :(得分:2)

jQuery将无法在当前其他页面中找到复选框,因为DataTables会以某种方式隐藏它们(可能会将它们从DOM中删除?)

请参阅DataTables API以访问您的表格cells,无论当前显示的是哪个/您所在的页面。

在你的情况下,你可以这样做:

// Use "DataTable" with upper "D"
oTableStaticFlow = $('#flow-table').DataTable({
    "aoColumnDefs": [{
        'bSortable': false,
        'aTargets': [0]
    }],
});

$("#flowcheckall").click(function () {
    var cells = oTableStaticFlow.column(0).nodes(), // Cells from 1st column
        state = this.checked;

    for (var i = 0; i < cells.length; i += 1) {
        cells[i].querySelector("input[type='checkbox']").checked = state;
    }
});

演示:http://jsfiddle.net/juxHn/47/