选中所有复选框

我有一个带复选框的表,我想要“检查所有”和“取消全部检查”复选框,但我找不到检查所有复选框的方法。

这是我的代码:

entries as $entry): ?> <input type="checkbox" class="chk_boxes1" name="to_delete[]" /> check all un-check all
$(document).ready(function() { $('.chk_boxes').click(function(){ $('.chk_boxes1').attr('checked',checked) }) });

 $(function() { $('.chk_boxes').click(function() { $('.chk_boxes1').prop('checked', this.checked); }); }); 

这仅影响check all框。 但是为什么你还想要使用两个复选框呢? 一个检查所有和一个取消选中所有,但不互斥。 那必须是混淆用户的秘诀:)

尝试使用true|false 。 像这样:

 $('.chk_boxes1').attr('checked',true); 

附加评论:

此外,看起来你的un-并且检查所有复选框都是多余的。

 check all  un-check all 

您可以只使用一个复选框来执行这两项操作,而不是这样做。 因此,您的jQuery将如下所示:

 $(document).ready(function() { $('.chk_boxes').click(function(){ $('.chk_boxes1').attr('checked',$(this).attr('checked')); }) }); 

使用HTML:

 check all 

请参阅此处的工作解决方案http://jsfiddle.net/HBGzy/

你不需要使用“ uncheck all ”复选框:)

 $('.chk_boxes').click(function(){ var chk = $(this).attr('checked')?true:false; $('.chk_boxes1').attr('checked',chk); }); 

你忘记了引号:

 $('.chk_boxes1').attr('checked','checked') 

小提琴: http : //jsfiddle.net/8ZHFn/

试试这个

  $(".chk_boxes").click(function() { var checked_status = this.checked; $(".chk_boxes1").each(function() { this.checked = checked_status; }); }); 

因此,如果在检查或取消选中类chk_boxes的复选框时要影响的所有复选框的类名是chk_boxes1这将获取所有元素并相应地设置checked属性。

我认为你应该使用复选框属性的true或false。

  

关于全部检查/取消选中全部的建议..正如我在选择全部检查后的想法,如果用户点击任何checkbox1,则应取消选中全部复选复选框,如果用户逐个选中所有复选框,则不勾选所有复选框应该被选中。 所以我建议你在使用check all / uncheck all时尝试这个。

 $(document).ready(function() { $('.chk_boxes').click(function(){ $('.chk_boxes1').attr('checked',$(this).attr('checked')); }) $('.chk_boxes1').click(function(){ if($('.chk_boxes1').length == $('.chk_boxes1:checked').length) $('.chk_boxes').attr('checked',checked) else $('.chk_boxes').attr('checked',false) }) });