我想要计算使用jQuery选择我页面上的复选框的数量。我写了以下代码:
var numberOfCheckboxesSelected = 0;
$(':checkbox').each(function(checkbox) {
if (checkbox.attr('checked'))
numberOfCheckboxesSelected++;
});
但是,我的代码在第三行错误消息“对象不支持此属性或方法”。
如何计算在我的页面上选择了多少个复选框?
答案 0 :(得分:36)
jQuery支持:checked
伪选择器。
var n = $("input:checked").length;
这适用于单选按钮和复选框。如果您只想要复选框,但页面上也有单选按钮:
var n = $("input:checkbox:checked").length;
答案 1 :(得分:5)
尝试此操作(以避免计算任何选定的单选按钮):
var numberOfCheckboxesSelected = $('input[type=checkbox]:checked').length;
答案 2 :(得分:2)
传递给each
中回调的第一个参数是索引,而不是元素。您应该使用this
或第二个参数:
$(':checkbox').each(function(idx, checkbox) {
if (checkbox.attr('checked'))
numberOfCheckboxesSelected++;
});
此外,更简单的方法是仅使用:checked
选择器选择已检查的元素,然后检查选择的length
属性:
var numberOfCheckboxesSelected = $('input:checkbox:checked').length;
答案 3 :(得分:1)
$("input:checked").length
这将返回已选中复选框的计数。