我有一个代码,用复选框显示数据表中的数据,这里是
var link = '../../php_try/get_info.php?id='+ nda_id + '&val_dept=' + val_dept + '&val_sect=' + val_sect;
$('#tbl_user').dataTable({
"destroy": true,
"order": [],
"bProcessing": true,
"stateSave": true,
"iDisplayLength": "All",
"lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]],
"sAjaxSource": link,
'columnDefs': [{
'targets': 0,
'render': function (data, type, row, meta){
return '<input type="checkbox" id="md_checkbox_' + data + '" class="filled-in chk-col-blue chkall" style="display: flex">' +
'<label for="md_checkbox_' + data + '"></label>';
}
},
{ targets: 0, orderable: false },
{ className: "custom_right", "targets": [1] },
],
"aoColumns": [
{ mData: 'test1' },
{ mData: 'test2' },
{ mData: 'test3' },
{ mData: 'test4' },
{ mData: 'test5' },
{ mData: 'test6' },
{ mData: 'test7' }
]
});
现在,link这就是我的表格中的复选框所在的位置
现在我有一个主复选框,这里是
<input type="checkbox" id="md_checkbox_21" class="filled-in chk-col-blue">
<label for="md_checkbox_21">Check All</label>
我选择数据表中所有复选框的代码是
/* Check all sub checkbox if main checkbox is checked */
$("#md_checkbox_21").change(function() {
if(this.checked) {
$('.chkall').prop("checked", true);
} else {
$('.chkall').prop("checked", false);
}
});
实际上它的工作问题是隐藏页面上的另一个复选框没有被选中。我的问题是我如何检查所有复选框,包括那些其他页面
答案 0 :(得分:1)
您可以在绘图事件处理程序中执行此操作。
DTable.on('draw', function () {
if($('#md_checkbox_21').is(':checked') == true){
$('.chkall').prop("checked", true);
}
});
使上述代码有效。
变化:
$('#tbl_user').dataTable({
要:
var DTable = $('#tbl_user').dataTable({