checks all checkboxes in the DataTable including hidden rows

datatable, jquery, webforms

Solution

Try:

$("#selectallboxes").click(function () {
    var selected = new Array();
    $(otable.fnGetNodes()).find(':checkbox').each(function () {
        $this = $(this);
        $this.attr('checked', 'checked');
        selected.push($this.val());
    });
    // convert to a string
    var mystring = selected.join();
    alert(mystring);
});

`.length` gives you the length of the array. I've used `join()` to join the array into a string. DataTable's `.fnGetNodes()` gives you all the rows in the table including hidden ones.

Problem

I'm trying to make a function that checks all checkboxes in the DataTable, including hidden rows. Here's the html code for the "checkbox" column: ``` <div class="usersTable" id="userTable"> <table cellpadding="0" cellspacing="0" id="customersList" > <thead> <tr> <th><input type="checkbox" name="selectall" id="selectall" class="selectall"/></th> <th width="200">val1</th> <th width="80px">val2</th> <th width="70px">val3</th> <th width="450">val4</th> <th width="60px">val5</th> </tr> </thead> <tbody> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> </tr> </tbody> </table> </div> ``` Submit button: ``` <input type='button' value='select all' id='selectallboxes' name='selectallboxes' /> ``` And the JQuery code that doesn't work: ``` $(function () { otable = $('#customersList').dataTable({ "bJQueryUI": true, "sPaginationType": "full_numbers", "aLengthMenu" : [ [10,20,50,100,1000], [10,20,50,100,1000] ], "iDisplayLength": 100, "bProcessing": true, "bServerSide": true, "aaSorting":[], "iDisplayStart": 0, "sAjaxSource": "filename", .... $("#selectallboxes").click ( function () { alert(dt.fnGetNodes().length + ' is total number') var selected = new Array(); $('input', dt.fnGetNodes()).each( function() { $(this).attr('checked','checked'); selected.push($(this).val()); } ); // convert to a string var mystring = selected.length; alert(mystring); }) ```

Original source