Как получить доступ к ряду данных в 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"
});
}
});
});