如何计算使用jQuery在页面上选择了多少个复选框

时间:2011-01-25 16:22:31

标签: javascript jquery checkbox css-selectors

我想要计算使用jQuery选择我页面上的复选框的数量。我写了以下代码:

      var numberOfCheckboxesSelected = 0;
      $(':checkbox').each(function(checkbox) {
          if (checkbox.attr('checked'))
              numberOfCheckboxesSelected++;
      });

但是,我的代码在第三行错误消息“对象不支持此属性或方法”。

如何计算在我的页面上选择了多少个复选框?

4 个答案:

答案 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

这将返回已选中复选框的计数。