2011-01-25 5 views
14

jQuery를 사용하여 내 페이지에서 얼마나 많은 체크 박스가 선택되었는지 계산하고 싶습니다.jQuery를 사용하여 페이지에서 선택되는 체크 박스의 수를 계산하는 방법

 var numberOfCheckboxesSelected = 0; 
     $(':checkbox').each(function(checkbox) { 
      if (checkbox.attr('checked')) 
       numberOfCheckboxesSelected++; 
     }); 

그러나, 메시지와 함께 내 코드 오류 밖으로 세 번째 줄에 "개체가이 속성 또는 메서드를 지원하지 않습니다"나는 다음과 같은 코드를 작성했습니다.

페이지에서 얼마나 많은 체크 박스가 선택되었는지 어떻게 계산합니까?

답변

35

jQuery는 의사 선택기 :checked을 지원합니다.

var n = $("input:checked").length; 

이 옵션은 라디오 버튼과 체크 박스에서 작동합니다. 그냥 체크 박스를 원하지만, 또한 페이지에 라디오 버튼이있는 경우 :

var n = $("input:checkbox:checked").length; 
+3

': checkbox' 대신'input : checkbox'를 써야합니다. jQuery는 페이지의 * 모든 요소를 ​​보지 않습니다. – user113716

+3

@patrick이 정식으로 언급하고 업데이트했습니다. 감사합니다! – Stephen

5

은 (선택된 라디오 버튼을 계산 피하기 위해)이 시도 :

var numberOfCheckboxesSelected = $('input[type=checkbox]:checked').length; 
2

each에 콜백에 전달 된 첫 번째 인수를 요소가 아니라 색인입니다.

var numberOfCheckboxesSelected = $('input:checkbox:checked').length; 
1
$("input:checked").length 
: 또한

$(':checkbox').each(function(idx, checkbox) { 
     if (checkbox.attr('checked')) 
      numberOfCheckboxesSelected++; 
}); 

,이 작업을 수행 할 수있는 쉬운 방법이 :checked 선택 만 체크 요소를 선택하고 선택의 length 속성을 확인하는 것입니다 : 당신은 this 또는 두 번째 인수를 사용한다

이렇게하면 체크 된 체크 상자의 수를 반환합니다.

관련 문제