我有一个数据表,每行都有一个复选框。我正在尝试将select-all
功能添加到这组复选框中,为此我创建了以下功能:
function selectAll() {
$(':checkbox').each(function() {
this.checked = true;
});
}
这适用于选择当前可见的所有复选框,但是,未选中数据表的其他页面上的复选框。我知道这些复选框一般存在问题,因为要提交表单并包含这些复选框,我必须添加以下功能:
$('form').submit(function() {
oTable1 = $('#mytable').dataTable();
$(oTable1.fnGetHiddenNodes()).find('input:checked').appendTo(this);
});
所以我怀疑为了检查这些复选框,我将以某种方式将它们附加到DOM,至少暂时将它们关闭,然后将它们从DOM中删除。或者我能做些什么更简单的事情?
答案 0 :(得分:0)
我设法使用以下内容完成了这项工作:
oTable1 = $('#mytable').dataTable();
$(oTable1.fnGetNodes()).find(':checkbox').attr('checked',true);
作为替代方案,您也可以使用
$(oTable1.fnGetFilteredNodes()).find(':checkbox').attr('checked',true);
将仅将“select-all”应用于与当前过滤器匹配的行。