Проверить все страницы за страницей в Datatable - PullRequest
0 голосов
/ 28 мая 2018

У меня есть код, который отображает данные в таблицах данных с флажком, и вот он

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' }
            ]
        });

Теперь по этой ссылке это где флажок выглядит в моей таблице

Теперь у меня есть основной флажок, и вот он

<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);
    }
});

на самом деле он работает, проблема в другомФлажок на скрытой странице не отмечен.мой вопрос, как я могу поставить галочку на всех флажках, в том числе и на других страницах

1 Ответ

0 голосов
/ 28 мая 2018

Это можно сделать в обработчике события розыгрыша.

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

Для работы вышеуказанного кода.

Изменение:

$('#tbl_user').dataTable({

Кому:

var DTable = $('#tbl_user').dataTable({
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...