如何在jquery中同时访问一行整个数据表

时间:2015-06-03 06:09:39

标签: javascript jquery jquery-plugins jquery-datatables

我使用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的一行..

3 个答案:

答案 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')})