2015-06-03 3 views
0

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

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

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

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

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

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

+0

Что вы имеете в виду в то же время? – Mairaj

+0

, когда я поставлю флажок в заголовке, остальные флажки (на странице 1,2, ..) будут проверяться автоматически в одно и то же время. – Kallis

ответ

1

Попробуйте нижеследующий код!

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

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

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

$(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"      
      });   
     } 
    }); 

}); 
0

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

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.

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

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