2012-05-16 43 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

@阿德里安:謝謝。我沒有意識到這是非常明顯的(並且是冗餘的)重複。 –