Как посчитать флажки с помощью jQuery? - PullRequest
40 голосов
/ 04 ноября 2011

У меня есть тонны флажков, которые либо отмечены (checked="checked"), либо не отмечены.

Я хотел бы получить количество всех флажков, флажков и флажков не было.Я имею в виду <input type="checkbox" />.

Как это сделать с помощью jQuery?Заранее спасибо!

Ответы [ 5 ]

132 голосов
/ 04 ноября 2011

Вы можете сделать:

var numberOfChecked = $('input:checkbox:checked').length;
var totalCheckboxes = $('input:checkbox').length;
var numberNotChecked = totalCheckboxes - numberOfChecked;

РЕДАКТИРОВАТЬ

Или даже просто

var numberNotChecked = $('input:checkbox:not(":checked")').length;
10 голосов
/ 30 июня 2015

У меня работал следующий код.

$('input[name="chkGender[]"]:checked').length;
7 голосов
/ 27 августа 2016

Предположим, у вас есть строка tr с несколькими флажками, и вы хотите считать только в том случае, если установлен первый флажок.

Это можно сделать, присвоив класс первому флажку

Например, class='mycxk', и вы можете посчитать это, используя фильтр, например:

$('.mycxk').filter(':checked').length
2 голосов
/ 09 января 2017

Есть несколько способов сделать это:

Метод 1:

alert($('.checkbox_class_here:checked').size());

Метод 2:

alert($('input[name=checkbox_name]').attr('checked'));

Метод 3:

alert($(":checkbox:checked").length);
0 голосов
/ 17 апреля 2019

Вы можете сделать это, используя имя attibute, class, id или просто универсальный флажок;Если вы хотите считать только флажок номер флажка.

По имени класса:

var countChk = $('checkbox.myclassboxName:checked').length;

По атрибуту имени:

var countByName= $('checkbox[name=myAllcheckBoxName]:checked').length;

Полный код

$('checkbox.className').blur(function() {
    //count only checked checkbox 
    $('checkbox[name=myAllcheckBoxName]:checked').length;
});
...