【发布时间】:2015-05-24 16:03:46
【问题描述】:
我正在使用 Datatable 插件,并在表格中使用复选框。 我想实现使用 Header 复选框来检查所有单个复选框并检查每个复选框以计数和显示每个复选框。我还想在检查复选框时显示(隐藏和显示)一个 div。
我已经能够实现检查所有,但我也想检查每个(关于标题复选框),即如果全部选中,标题将全部选中,如果未选中,则取消选中标题复选框反之亦然。 这是我的代码
$('#selectAllCheck').change(function(e) {
var chk = $(this).prop('checked');
var currentRows = $('#example tbody tr');
$.each(currentRows, function(){
$(this).find(':checkbox[name=haschecked]').each(function(){
$(this).prop('checked', chk);
$(':checkbox[name=haschecked]').prop('checked', chk );
$('#inboxcheck')[ chk ? 'show' : 'hide' ](); // Hide and show div
$('.checkbox-logo-pane')[ chk ? 'show' : 'hide' ](); // Hide and show div
do_count();
});
});
});
var do_count =function(){
var n = $(':checkbox[name=haschecked]:checked').length;
$('.inbox-counter').html( n ); // The checkbox counter
return n
}
});
【问题讨论】:
-
填充复选框时计数失败?
-
问题是
$('#example tbody tr')只选择当前页面上的行。显示您的 DataTables 初始化脚本,解决方案将取决于您是在 DataTables 中进行客户端还是服务器端处理。
标签: javascript jquery html checkbox datatables