我使用DataTables jQuery插件。在该DataTable中,我在标题中创建了一个复选框,每个列都有一个复选框。
DataTable有几页。我需要的是当我检查标题复选框时,应该在DataTable的所有页面中检查所有复选框。
我必须同时访问所有页面的行。
我试过这个
l1=(ListView)findViewById(R.id.listView);
myAdap adap1=new myAdap(this,c1);
c1=db.rawQuery("SELECT * FROM donut",null);
l1.setAdapter(adap1);
我可以在点击分页时查看复选框。但我想同时访问dataTable的一行..
答案 0 :(得分: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');
}
答案 1 :(得分: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"
});
}
});
});
答案 2 :(得分:0)
如果您的表具有ID或类,则可以执行此操作。
if($('#selectAll').is(':checked'))
$("#YourTableId tr td:first-child").each(function(){$(this).find(':input[name=group_select_components]').iCheck('check')});
如果您的复选框位于另一个first td
中,则会在td
中找到复选框,您可以使用index
提供该{t}的.eq()
。这只会在特定的tds
上循环播放。
或者如果你不想设置td的索引,你可以简单地循环遍历行
if($('#selectAll').is(':checked'))
$("YourTableId tr").each(function(){$(this).find(':input[name=group_select_components]').iCheck('check')})