2012-05-16 2 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 иметь идентификатор (т.е. specdiv) и ваш селектор должен быть

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

или, так как у вас уже есть ID для ul, пойти на это:

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

Вот jsfiddle для игр с возможностями: http://jsfiddle.net/7WnBG/

+0

, который также выберет выбранные радио. Возможно, вы также захотите добавить фильтр «: 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. ОП уже задал этот вопрос. Посмотрите здесь: http://stackoverflow.com/a/10621815/570191 –

+0

@Adrian: спасибо. Я не понял, что это было настолько очевидно (и излишне) дубликат. –

Смежные вопросы