【问题标题】:Check All Page by Page in Datatable逐页检查数据表中的所有内容
【发布时间】:2018-05-28 03:13:04
【问题描述】:

我有一个代码可以在带有复选框的数据表中显示数据,这里是

var link = '../../php_try/get_info.php?id='+ nda_id + '&val_dept=' + val_dept + '&val_sect=' + val_sect;
        $('#tbl_user').dataTable({
            "destroy": true,
            "order": [],
            "bProcessing": true,
            "stateSave": true,
            "iDisplayLength": "All",
            "lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]],
            "sAjaxSource": link,
            'columnDefs': [{
                'targets': 0,
                'render': function (data, type, row, meta){
                    return '<input type="checkbox" id="md_checkbox_' + data + '" class="filled-in chk-col-blue chkall" style="display: flex">' +
                           '<label for="md_checkbox_' + data + '"></label>';
                }
            },
            { targets: 0, orderable: false },
            { className: "custom_right", "targets": [1] },
            ],
            "aoColumns": [
                { mData: 'test1' },
                { mData: 'test2' },
                { mData: 'test3' },
                { mData: 'test4' },
                { mData: 'test5' },
                { mData: 'test6' },
                { mData: 'test7' }
            ]
        });

现在在这个link 上,这是复选框在我的表格中的样子

现在我有一个主复选框,这里是

<input type="checkbox" id="md_checkbox_21" class="filled-in chk-col-blue">
<label for="md_checkbox_21">Check All</label>

我在数据表中选择所有复选框的代码是这样的

/* Check all sub checkbox if main checkbox is checked */
$("#md_checkbox_21").change(function() {
    if(this.checked) {
        $('.chkall').prop("checked", true);
    } else {
        $('.chkall').prop("checked", false);
    }
});

实际上它的工作问题是隐藏页面上的另一个复选框未选中。我的问题是如何检查所有复选框,包括其他页面上的复选框

【问题讨论】:

    标签: javascript jquery css datatables


    【解决方案1】:

    您可以在绘图事件处理程序中执行此操作。

    DTable.on('draw', function () {
        if($('#md_checkbox_21').is(':checked') == true){
            $('.chkall').prop("checked", true);
        }
    });
    

    为了让上面的代码工作。

    变化:

    $('#tbl_user').dataTable({
    

    收件人:

    var DTable = $('#tbl_user').dataTable({
    

    【讨论】:

    • 我不知道我是否可以运行它,因为我的数据是基于数据库的
    • 即使基于数据库也可以运行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多