HIII, 我想检测在给定列表复选框中检查了多少个复选框。 我知道的一种方法是通过循环遍历列表来检查它,如果已选中则逐个检查
$('.chkBoxList').each(function() {
if($(this).is(':checked'))
{
// do something
}
但我觉得这是一种效率很低的方法。好像有数百/数千个复选框,只检查了其中几个,它仍然会遍历所有复选框。
还有其他方法可以改善它。如果有人能提出有效的替代方案,我将不胜感激。请指导我&建议与专业人士合适的解决方案缺点
提前致谢。
答案 0 :(得分:3)
这将获得具有类chkBoxList
的元素内的所有已检查输入(假设没有任何无线电),并且length
属性将是它们的计数:
var cnt = $('.chkBoxList input:checked').length;
如果您的复选框有chkBoxList
课程,请使用此选项:
var cnt = $('.chkBoxList:checked').length;
答案 1 :(得分:1)
$('.chkBoxList').filter(':checked').length