以下是包含许多复选框的复杂表单的一部分......
<div class="listbuilder-column">
<h3 class="con_act_list">Activity</h3>
<ul id="activity">
<li>
<input type="checkbox" id="con_act_1" name="con_act[]" class="con_act" value="fabricate"/>
Fabricate roofs
<li>
<li>
<input type="checkbox" id="con_act_2" name="con_act[]" class="con_act" value="buy-In"/>
Buy-in roofs
<li>
<li>
<input type="checkbox" name="con_act[]" class="con_act" value="install"/>
Install roofs
<li>
</ul>
</div>
<div class="listbuilder-column"> ........ more checkboxes </div>
我想知道如何确定这些复选框的状态,即是否已选中。
我使用的是$(.con_act input:checked").length
,但复选框嵌套在div ...
答案 0 :(得分:1)
让您的具体div
拥有一个ID(即specdiv
),您的选择器应为
$("#specdiv [type=checkbox]:checked").length
或者,由于您已经拥有ul
的ID,请转到此处:
$("#activity [type=checkbox]:checked").length
这是一个可以解决各种可能性的问题:http://jsfiddle.net/7WnBG/
答案 1 :(得分:0)
要查找已选中复选框的数量:
$('input.con_act:checkbox:checked').length;
这首先找到input
元素,然后按类名过滤,然后只选择那些实际上是type="checkbox"
的元素,最后只选择那些被检查的元素。在执行jQuery行的时候。
嵌套级别几乎无关紧要,但您可以轻松搜索特定父元素中的嵌套级别:
$('#activity').find('input.con_act:checkbox:checked').length;
/* or: */
$('#activity input.con_act:checkbox:checked').length;