有效检测选中复选框的数量

Detecting number of checked checkboxes efficiently

本文关键字:复选框 检测 有效      更新时间:2023-09-26

hiii,我想检测在给定的列表复选框中有多少复选框被选中。我知道的一种方法是通过循环列表来检查它,如果检查了,则逐个检查

$('.chkBoxList').each(function() {
if($(this).is(':checked'))
{
     // do something
}

但我觉得这是一种效率很低的方法。就好像有成百上千的复选框,而只有很少的复选框被选中一样,它仍然会循环通过所有的复选框。

有没有其他方法可以改进它。如果有人能提出一个有效的替代方案,我将不胜感激。请指导我&向专业人士提出合适的解决方案;缺点。

提前谢谢。

这将在类为chkBoxList的元素内获得所有检查的输入(假设没有任何无线电(,length属性将是它们的计数:

var cnt = $('.chkBoxList input:checked').length;

如果您的复选框具有chkBoxList类,请使用以下内容:

var cnt = $('.chkBoxList:checked').length;
$('.chkBoxList').filter(':checked').length