Я пытаюсь сделать функцию, которая проверяет все флажки в DataTable, включая скрытые строки. Вот HTML код для столбца "флажок":проверяет все флажки в DataTable, включая скрытые строки
<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>
кнопку Отправить:
<input type='button' value='select all' id='selectallboxes' name='selectallboxes' />
И код JQuery, который не работает:
$(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);
})
Что произойдет, если вы измените '$ (" # selectallboxes "). Нажмите' to '$ (" # selectall "). Click'? – darshanags
@ darshangs Это создало бы событие щелчка для фактических флажков, а не кнопку выбора всех, проблема в логике в событии клика, а не в обработчике –
@DavidBarker. Моя ошибка. Я неправильно читал вопрос. – darshanags