复选框仅适用于 jQuery 数据表中的当前分页页面
Posted
技术标签:
【中文标题】复选框仅适用于 jQuery 数据表中的当前分页页面【英文标题】:Checkboxes will only work on current pagination page in jQuery datatables 【发布时间】:2015-08-23 18:59:14 【问题描述】:我正在使用 jquery 数据表来列出我的内容,这些内容具有复选框选择和选定的内容发布数据,但以提交的形式仅发送当前页面数据。
我的数据表代码是:
$('#select').dataTable(
"order": [[ 2, "desc" ]],
"lengthMenu": [[50, -1], [50, "All"]],
"columnDefs": [
orderable: false, targets: [0, 1, 3, 5] ,
"width": "20px", "targets": [0, 1] ,
"width": "80px", "targets": [5]
],
);
当我点击提交时,它只提交当前页面值的复选框数组。
我已经参考了这个链接Pagination with selected check boxes. Checkboxes will only work on current pagination page. jQuery datatables,但是那里提供的解决方案链接和链接不起作用。
【问题讨论】:
这是默认功能。如何提交未列出或不可见的数据?检查你的 gmail 收件箱,它的工作原理是一样的.. 【参考方案1】:您可以使用以下代码获取所有选中的复选框值,这可能对您有所帮助
var myArray = [];
var id = "";
var oTable = $("#example").dataTable();
$(".class1:checked", oTable.fnGetNodes()).each(function()
if (id != "")
id = id + "," + $(this).val();
else
id = $(this).val();
);
【讨论】:
不,我也想从上一页获取特定的选定数据。 在上面的代码中,你已经为 id 赋值了,但是我如何 appendTo(this) 才能获取我发布的所有数据?【参考方案2】:你可以在最后检查它们。
var table = $("#yourtablename").DataTable(
//your datatable options(optional)
);
现在 jQuery 可以通过以下代码访问所有行
table.$('td > input:checkbox').each(function ()
// If checkbox is checked
if (this.checked)
//Your code for example
alert($(this).attr('name'));
);
【讨论】:
以上是关于复选框仅适用于 jQuery 数据表中的当前分页页面的主要内容,如果未能解决你的问题,请参考以下文章