Как посчитать флажки с помощью jQuery?

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

Я хотел бы получить количество всех флажков, неотмеченных и отмеченных флажков.

Под флажком я подразумеваю <input type="checkbox" />.

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


person daGrevis    schedule 04.11.2011    source источник


Ответы (5)


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

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

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

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

var numberNotChecked = $('input:checkbox:not(":checked")').length;
person Nicola Peluchetti    schedule 04.11.2011

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

$('input[name="chkGender[]"]:checked').length;
person Nguyễn Thành Bồi    schedule 30.06.2015

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

Вы можете сделать это, указав класс для первого флажка

Например class='mycxk' и вы можете посчитать это с помощью фильтра, вот так

$('.mycxk').filter(':checked').length
person Samuel Aiala Ferreira    schedule 27.08.2016
comment
Я предпочитаю этот ответ в моем случае, потому что я могу определить let myCheckboxList = $('.mycxk');, чтобы повторно использовать его после этого myCheckboxList.filter(':checked').length. - person Sadiel; 10.05.2018
comment
мне тоже понравился этот ответ - person Alauddin Ahmed; 14.11.2019
comment
работал на меня. Спасибо, бро - person M-O-H-S-E-N; 23.07.2021

Для этого есть несколько способов:

Способ 1:

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

Метод 2:

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

Способ 3:

alert($(":checkbox:checked").length);
person Hasnain Mehmood    schedule 09.01.2017

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

По названию класса:

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;
});
person CodeLover    schedule 17.04.2019