Javascript Datatables复选框、标题和每个复选框

Javascript Datatables复选框、标题和每个复选框,javascript,jquery,html,checkbox,datatables,Javascript,Jquery,Html,Checkbox,Datatables,我正在使用Datatable插件,并使用表中的复选框。 我想实现使用Header复选框来选中所有单个复选框,并选中每个复选框来计数和显示每个复选框。我还希望在选中复选框时显示隐藏和显示div 我已经能够实现全部检查,但我想检查每个关于标题复选框,也就是说,如果全部被选中,标题将全部被选中,如果一个被取消选中,它将取消选中标题复选框,反之亦然。 这是我的密码 $('#selectAllCheck').change(function(e) { var

我正在使用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
                      }
                    });

这似乎是一个普遍的复选框问题。这里已经发布了许多好的答案:

您还可以使用一种不太为人所知的称为“中间”的复选框状态。下面是另一篇文章,该文章应该可以帮助您:


不管你怎么做,逻辑都很简单。计数选中复选框,如果0不选中head,如果Count==复选框。长度则保持head选中,对于任何其他内容,保持head复选框中间。

在填充复选框时计数失败?问题在于$'example tbody tr'仅选择当前页面上的行。显示DataTables初始化脚本时,解决方案将取决于您是在DataTables中执行客户端处理还是服务器端处理。