如何获取页面上所有选中复选框的计数

IT技术 javascript jquery
2021-02-24 18:21:37

我想计算用户选择了多少个复选框。例如,从一组 10 个复选框中,如果他选择 5 个,那么我希望能够数出来。使用该行:

$(":checkbox:checked")

我可以选择所有选中的复选框,有没有办法获取该语句返回的所有元素的计数?

2个回答

使用size()方法或length属性。首选长度属性,因为它更快。

例子:

var count = $("[type='checkbox']:checked").length;
我只是重用了他的例子。由于 :checkbox 已被弃用,因此我已经使用首选选择器对其进行了更新,以利用本机 DOM 方法。
2021-04-24 18:21:37
在 :checkbox 之前使用输入,否则它会被评估为 *:checkbox 这会使执行速度变慢
2021-05-16 18:21:37

使用jQuery:

var cbs = $("input:checkbox"); //find all checkboxes
var nbCbs = cbs.length; //the number of checkboxes

var checked = $("input[@type=checkbox]:checked"); //find all checked checkboxes + radio buttons
var nbChecked = checked.length;

使用 JavaScript:

var inputs = document.getElementsByTagName("input"); //or document.forms[0].elements;
var cbs = []; //will contain all checkboxes
var checked = []; //will contain all checked checkboxes
for (var i = 0; i < inputs.length; i++) {
  if (inputs[i].type == "checkbox") {
    cbs.push(inputs[i]);
    if (inputs[i].checked) {
      checked.push(inputs[i]);
    }
  }
}
var nbCbs = cbs.length; //number of checkboxes
var nbChecked = checked.length; //number of checked checkboxes

来源:如何找到复选框?在代码牧场

@Kenord 不用担心它会发生^.^
2021-05-01 18:21:37
我得到.size()的不是一个功能 - 改为.length工作
2021-05-06 18:21:37