我正在使用JQuery数据表。我想用复选框添加选择所有列,以便当我点击'全选'复选框时,该页面上的所有复选框应该被选中。选择所有复选框在JQuery数据表的下一页不起作用
我使用下面的代码:
<table id="myTable" cellspacing="0" width="100%">
<thead>
<tr>
<th> Name</th>
<th> Type</th>
<th> Details</th>
<th>Select <input type="checkbox" name="select_all" value="1" id="select-all"></th>
</tr>
</thead>
<tbody>
<?php foreach ($test as $data) { ?>
<tr>
<td><?php echo $data->name; ?></td>
<td><?php echo $data->type; ?></td>
<td><a href="/details">view details</a></td>
<td><input type="checkbox" name="manuf[]" class="sub_chk" data-id="<?php echo $data->id; ?>"></td>
</tr>
<?php } ?>
</tbody>
</table>
<script>
$(document).ready(function(){
$('#myTable').DataTable();
});
$('#select-all').on('click', function(e) {
if($(this).is(':checked',true))
{
$(".sub_chk").prop('checked', true);
}
else
{
$(".sub_chk").prop('checked',false);
}
});
</script>
上面的代码适用于数据表的第一页,但如果我选择第二页,如果我选择“全选”复选框,它需要我第一页,而不是选择第二页中的复选框。
有没有解决方案?
是的,你说得对,我错了。我没有意识到内容被加载到页面上,我认为它来自AJAX,因为它在分页时确实应该是这样。 –
@Zakaria Acharki它不工作..让我再次解释它有一个jQuery数据表与所有数据和一个复选框的列,其标题有另一个复选框(选择该页面上的所有复选框)。如果我在第一页上,我点击全部选中所有行。这是正确的,但是当我转到数据表的下一页时,标题选择所有复选框仍然处于选中状态。如果我取消选择它,它会将我带到数据表的第一页,而不是选择第二页的复选框。 – san
我认为问题来自排序,尝试禁用具有'select -all'复选框,http://jsfiddle.net/UvjnT/1475/ –