Jquery datatable选中此复选框后,所有行都应转移到新的Jquery datatable
我有两个datatable,第一个datatable选中复选框时,行被传输到一个新的jquery datatable。我还有一个chk all复选框,当选中该复选框时,我希望将所有表行传输到另一个datatable 这是两张桌子Jquery datatable选中此复选框后,所有行都应转移到新的Jquery datatable,jquery,datatables,Jquery,Datatables,我有两个datatable,第一个datatable选中复选框时,行被传输到一个新的jquery datatable。我还有一个chk all复选框,当选中该复选框时,我希望将所有表行传输到另一个datatable 这是两张桌子 var primaryTable = $('#tblProveedorToTransfert').DataTable({ //code that generates datatable }); var secondTable = $
var primaryTable = $('#tblProveedorToTransfert').DataTable({
//code that generates datatable
});
var secondTable = $('#tblProveedorTransferd').DataTable({
//code that generates datatable
});
这是将所有行传输到另一个表的代码。但是,仅传输可视的行,而不是所有页面上的所有行
$('#chkAll').click(function (e) {
$(this).closest('table').find('td input:checkbox').prop('checked', this.checked);
$('#tblProveedorToTransfert tbody').find('input[type="checkbox"]').each(function () {
var alereadyAdded = false;
if ($(this).is(":checked")) {
for (var i = rowsIDs.length - 1; i >= 0; i--) {
if (rowsIDs[i] === $(this).attr("data-id"))
{
alereadyAdded = true;
}
}
if (alereadyAdded === false)
{
rowsIDs.push($(this).attr("data-id"));
}
}
else {
for (var i = rowsIDs.length - 1; i >= 0; i--) {
if (rowsIDs[i] === $(this).attr("data-id")) {
rowsIDs.splice(i, 1);
}
}
}
secondTable.ajax.reload();
});
});
我必须在代码中修改什么才能传输所有的行,而不仅仅是可见的行。谢谢你的帮助
定义传输…复制到其他表或删除所有数据并将其全部放在其他表中。不管怎样,您的方法需要处理缓存在每个实例中的数据,而不是渲染的数据html@charlietfl已转移:将行复制到其他表。如何像您建议的那样使用每个实例中缓存的数据。插件api具有获取所有数据的方法和添加行的方法。可能还需要一些数组过滤来防止重复。你所要求的不是琐碎的,而是完全可行的。需要将其分解为几个小步骤,并在每个步骤上工作,研究插件文档中的各种方法