2014-01-30 4 views
1

Я пытаюсь подсчитать количество отмеченных флажков. Но, счетчик остается 0, хотя я нажимаю. Вот мой код.Подсчет выбранных флажков с помощью jquery.

<div> 
<input type="checkbox" class="category1"></input> 
<input type="checkbox" class="category1"></input> 
<input type="checkbox" class="category1"></input> 
<input type="checkbox" class="category1"></input> 
</div> 

и мой JS код ..

<script type="text/javascript"> 
     $(document).ready(function(){ 

      $(".category1").click(function(){ 

       var category1Count = $('.category1 :checked').size(); 
       console.log(category1Count); 
      }); 


     }); 
    </script> 

Там должна быть простой ошибкой. Не удалось выяснить. Где я иду не так? Заранее благодарен

+0

'.category1: checked' средства, выбрать все выбранные элементы, которые являются потомками ** ** из' .category1' элементов. Вместо этого вы хотите «.category1: checked», что означает «выбрать все элементы .category1», которые также выбраны. –

ответ

3

Использование длиной свойства вместо размера() метода

Проверьте следующий код ..

$('.category1:checked').length; 

Проверьте следующее изображение .. enter image description here

И проверить JSFIDDLE

+1

Зачем использовать '.length' вместо' .size() '? Они одинаковы. –

+1

size is также работает http://jsfiddle.net/ne3YZ/1/ –

+0

(конечно, '.length' является предпочтительным, а' .size' устарел, но это не объясняет, почему '.size()' не работает. Следовательно, проблема, скорее всего, что-то еще.) –

3

Используйте length, чтобы получить количество элементов. Вам также не нужно пространство между .category1 и :checked

Метод .size() является устаревшим JQuery 1.8. Вместо этого используйте свойство .length .

Метод .size() функционально эквивалентен свойству .length ; однако свойство .length является предпочтительным, так как не имеет накладных расходов на вызов функции. Reference.

Live Demo

var category1Count = $('.category1:checked').length; 
0

Попробуйте

var category1Count = $("input:checkbox:checked").length; 
0
$(document).ready(function(){ 
     $(".category1").click(function(){ 
      console.log($(":checkbox").filter(":checked").size());    
     }); 
}); 

Fiddle Demo

2

размер() и длину обе работы, но в OP c Ода, он просто помещал пространство, которое заставляло не работать.

$('.category1 :checked') должен быть таким: $('.category1:checked')

demo

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