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