Tôi đang cố gắng thực hiện một chức năng kiểm tra tất cả các hộp kiểm trong DataTable, bao gồm cả các hàng ẩn. Dưới đây là đoạn code html cho cột "checkbox":kiểm tra tất cả các hộp kiểm trong DataTable bao gồm các hàng ẩn
<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>
nút Submit:
<input type='button' value='select all' id='selectallboxes' name='selectallboxes' />
Và mã JQuery đó không làm việc:
$(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);
})
Điều gì sẽ xảy ra nếu bạn thay đổi '$ (" # selectallboxes "). Nhấp vào' thành '$ (" # selectall "). – darshanags
@darshangs Điều đó sẽ chỉ tạo ra một sự kiện bấm cho các hộp kiểm thực tế không phải là chọn tất cả các nút, vấn đề là logic trong sự kiện bấm không phải là xử lý –
@DavidBarker Lỗi của tôi. Tôi đã đọc câu hỏi không chính xác. – darshanags