Как получить доступ к ряду данных в JQuery в то же время

Я использую плагин DataTables jQuery. В этом DataTable я создал флажок в заголовке, и у каждого столбца тоже есть флажок.

Этот DataTable имеет несколько страниц. Что мне нужно, когда я проверяю флажок заголовка, то все флажки должны быть проверены на всех страницах DataTable.

Я должен получить доступ к строкам всех страниц одновременно.

Я пробовал это

if($('#selectAll').is(':checked')){
    $(nRow).find(':input[name=group_select_components]').iCheck('check');
}

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

3 ответа

Решение

Попробуйте приведенный ниже код!

if($('#selectAll').is(':checked')){
    var table = $('#yourTableId').DataTable();
    var cells = table
        .cells( ":checkbox" )
        .nodes();
    $(cells).iCheck('check');
}

или это

if($('#selectAll').is(':checked')){
    var table = $('#yourTableId').DataTable();
    $(':checkbox', table.rows().nodes()).iCheck('check');
}

Вы можете сделать это, если ваша таблица имеет идентификатор или класс.

if($('#selectAll').is(':checked'))
 $("#YourTableId tr td:first-child").each(function(){$(this).find(':input[name=group_select_components]').iCheck('check')});

Здесь он найдет флажки в first td если ваши флажки в другом td Вы можете дать index этого тд с помощью .eq(), Это будет только цикл на конкретных tds,

Или, если вы не хотите устанавливать индекс td, вы можете просто перебирать строки

if($('#selectAll').is(':checked'))
 $("YourTableId tr").each(function(){$(this).find(':input[name=group_select_components]').iCheck('check')})

Вы можете сделать это, назначив один и тот же класс для всех флажков. Поэтому, когда вы нажмете, чтобы выбрать все, все флажки будут отмечены.

Попробуйте этот код:

$(document).ready(function() {
    $('#selecctall').click(function(event) {  //click event
        if(this.checked) { // Check if the box is checked
            $('.checkbox').each(function() { //loop through each checkbox
                this.checked = true;  //select all checkboxes with class "checkbox"               
            });
        }else{
            $('.checkbox').each(function() { //loop through each checkbox
                this.checked = false; //deselect all checkboxes with class "checkbox"                       
            });         
        }
    });

});
Другие вопросы по тегам