2012-05-16 41 views
0

这里是许多复选框复杂形态的一部分...如何访问一个特定的嵌套复选框组

<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

请不要一遍又一遍地问同样的问题。谢谢。 – Kev

回答

1

让您的具体div有一个ID(即specdiv)和你的选择应该是

$("#specdiv [type=checkbox]:checked").length 

,或者因为你已经有一个对于ul ID,去这样的:

$("#activity [type=checkbox]:checked").length 

这里有一个的jsfiddle与可能性玩弄:http://jsfiddle.net/7WnBG/

+0

也会选择选中的收音机,ou可能会考虑添加':checkbox'过滤器。 –

+0

@Joy好的注意,更新了答案 –

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; 
+0

OP wnats只有在特定div内的那些。 OP已经问过这个问题。看看这里:http://stackoverflow.com/a/10621815/570191 –

+0

@阿德里安:谢谢。我没有意识到这是非常明显的(并且是冗余的)重复。 –