检查在jQuery中检查的所有复选框

时间:2012-04-02 07:48:45

标签: javascript jquery checkbox

我的HTML Dom如下:

<div class="menu">
   <input type="checkbox" value="1" class="chk-act">
   <input type="checkbox" value="2" class="chk-act">
   <input type="checkbox" value="3" class="chk-act">
</div>


<div class="menu">
   <input type="checkbox" value="4" class="chk-act">
   <input type="checkbox" value="5" class="chk-act">
   <input type="checkbox" value="6" class="chk-act">
   <input type="checkbox" value="7" class="chk-act">
</div>



<div class="menu">
   <input type="checkbox" value="8" class="chk-act">
   <input type="checkbox" value="9" class="chk-act">
</div>

每个div中的复选框数量不固定。这可能是1到50.所以我需要检查每个div如果选中所有复选框然后div样式的一些更改,如更改颜色,您检查所有复选框检查的建议是什么?

1 个答案:

答案 0 :(得分:3)

在一行中:

$('.menu:has(:checkbox:not(:checked))');

为了解释,这将选择所有<div class="menu">元素,其中包含一个尚未选中的复选框。然后,您可以添加css类或执行您需要的任何操作。如果您在添加课程后需要“重置”它们,我会做这样的事情:

$('.menu')
    .removeClass('notChecked')
    .filter(':has(:checkbox:not(:checked))')
    .addClass('notChecked');