【问题标题】:Checkboxes will only work on current pagination page in jQuery datatables复选框仅适用于 jQuery 数据表中的当前分页页面
【发布时间】:2023-03-27 19:47:01
【问题描述】:

我正在使用 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 收件箱,它的工作原理是一样的..

标签: javascript php jquery checkbox datatable


【解决方案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'));
            }
    }); 

【讨论】:

    猜你喜欢
    • 2011-08-26
    • 2022-08-17
    • 2016-09-08
    • 2017-06-16
    • 1970-01-01
    • 2017-06-27
    • 2017-06-10
    • 2016-07-13
    • 1970-01-01
    相关资源
    最近更新 更多