我有带有以下复选框的jQuery数据表
var tobSearchResult = $('#TOBForm\\:tobSearchResult').DataTable({
"pageLength": 5,
"lengthMenu" : [ [ 10, 25, 50 ], [ 10, 25, 50 ] ],
"language" : {
"lengthMenu" : "Display _MENU_ reports per page",
"search" : "Filter Reports:",
"zeroRecords" : "No reports to display",
"info" : "Showing _START_ to _END_ of _TOTAL_ reports",
"infoEmpty" : "No Reports Found",
"infoFiltered" : " - filtered from _MAX_ reports"
},
columnDefs : [ {
orderable : false,
targets : [ 0 ]
} ] }).order([ 4, 'desc' ]).draw();
因此,如果表有10条记录,则它显示为两页,因为每页包含5条记录。现在的问题是,如果我从多个页面中选择复选框,则仅最后一页复选框被提交。
谷歌搜索后,我得到的解决方案为
var deviceTable = $('#TOBForm\\:tobSearchResult').dataTable();
var selectedNodes = $(deviceTable.fnGetFilteredNodes()).find('input:checked');
selectedNodes.appendTo("#TOBForm").hide();
令人惊讶的是,该解决方案过去在其他页面上仍然有效,但是现在即使我从多个页面中选择复选框并发出警报,它也仅显示最后一页中的复选框,这可能是什么问题?
我尝试了迭代表的其他解决方案,并检查是否按以下方式检查
tobSearchResult.$('input[type="checkbox"]').each(function(){
if(this.checked){
alert(this);
}});
但无法提交。像我们对多个节点一样,有什么方法可以提交它
selectedNodes.appendTo("#TOBForm").hide();