如何计算已选中的复选框数量?

14

我有一个 HTML 表格,第一列由 checkboxes 组成,当用户点击一个按钮时,我想要在进入后台代码之前检查这些复选框中是否有任何被选中的。

这是我写的代码,但它一直报错:

Microsoft JScript runtime error: Syntax error, unrecognized expression: input.checkbox:checked"]

这是我的代码,我只想返回实际被选中的复选框数量。

       $('#BtnExportToExcel').click(function () {
              var check = ('#gvPerformanceResult').find('input.checkbox:checked"]').length;
              alert(check);
        return false;
        }):

感谢您的帮助。

4个回答

19

您的语法无效(开头没有$,末尾有"])。

修改为:

('#gvPerformanceResult').find('input.checkbox:checked"]').length;

收件人:

$('#gvPerformanceResult').find('input.checkbox:checked').length;

这个解决方案在所有浏览器中都能工作,比如IE吗?有时候我们没有时间手动测试所有浏览器。如果有人已经测试过就更好了。 - RN Kushwaha

16

你的find()函数中有一个悬挂的括号,尝试使用这个

$('#BtnExportToExcel').click(function () {
   var check = $('#gvPerformanceResult').find('input[type=checkbox]:checked').length;
   alert(check);
   return false;
}):

注意,根据你的回答,似乎你想要选择#gvPerformanceResult中的所有复选框,而不是类.checkbox的复选框 - 使用[type=checkbox]来选择那些复选框。


1
请根据Curt在他的答案中指出的内容,纠正您代码中的错误。 - BNetz

11
$('input[type="checkbox"]:checked').length;

这将返回选中复选框的数量。


限制:

$('#gvPerformanceResult').find('input[type="checkbox"]:checked').length;

这将返回页面上所有已选中的复选框,而不仅仅是在#gvPerformanceResult中的。 - Curtis

4
< p >弄清楚了

$('#BtnExportToExcel').click(function () {
    var check = $("input:checkbox:checked").length
    alert(check);
});

1
注意:这将是您页面上的所有复选框,不仅仅是 #gvPerformanceResult 中的复选框。 - Curtis
看我的答案,它会在 #gvPerformanceResult 中找到所有选中的复选框。 - Chris
2
你自己解决了吗?还是其他答案帮到了你?我认为当其他人已经充分回答了你的问题时,发表自己的答案是不合适的。 - musefan
我没有刷新页面来检查任何通知,所以当我发布我的答案时,它显示了所有其他答案。Chris,我决定使用你的答案,因为后来其他人可能会在页面的其他地方添加复选框,而我不希望它们与gvperformanceresult表相关联。 - Code Ratchet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接