2011-01-31 6 views
2

체크 된 모든 체크 박스를 카운트하는 방법을 찾고 있습니다. 내에서 jQuery를 사용하는 부모 엘리먼트. Sofar 저는 괜찮은 (그리고 빠른) 해결책을 찾지 못했습니다.엘리먼트 내의 카운트 체크 박스

상황을 설명하려면 : '체크 - 모두'확인란과 하위 목록 항목 당 하나의 체크 박스가있는 ul 목록이 있습니다. 체크 된 목록 항목이 없으면 체크 - 체크 박스를 체크하지 않기를 원합니다. 따라서 나는 그 중 하나가 변경 될 때마다 체크 된 목록 항목을 모두 계산했다고 가정합니다.

[...] 
<li><input type="checkbox" class="checkall" /> 
<ul> 
<li><input type="checkbox" id="ch1" class="list" /></li> 
<li><input type="checkbox" id="ch2" class="list" /></li> 
<li><input type="checkbox" id="ch3" class="list" /></li> 
</ul> 
</li> 
[...] 

위에서 알 수 있듯이 중첩 된 ul-list와 함께 작업하고 있습니다. Sofar 나는 다음과 같은 jQuery 코드를 가지고있다.이 코드는 부모 목록 항목을 선택하는 역할을한다. 단지 '그룹'내의 체크 박스 만 계산해야하기 때문이다. 수 ..

// $(this).val() is neccesary for my code to know which checkbox has been affected 
var parentnode = $('input#' + $(this).val()).parent().parent().parent(); 
alert(parentnode.children('input.list:checked').length); 

가 나는 아이들의 선택 (즉 오른쪽 루핑위한거야?)를 사용하여 작동하지 않습니다 알고 있지만, 나는 '인 parentNode'요소에서 체크 된 체크 박스의 길이를 계산하는 방법을 찾을 수 없습니다 너 나 좀 도와 줄거야? 만 요소의 직계 자식을 처리

답변

4

children() 때문에, 당신은 선택 일치하는 모든 자손을 처리하는 대신 find()를 사용할 수 있습니다

alert(parentnode.find('input.list:checked').length); 
+0

감사합니다, 잘 작동! – carlo