【问题标题】:How to get a count of all checked checkboxes on a page如何获取页面上所有选中复选框的计数
【发布时间】:2010-10-26 17:11:57
【问题描述】:

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

$(":checkbox:checked")

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

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

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

    例子:

    var count = $("[type='checkbox']:checked").length;
    

    【讨论】:

    • 在 :checkbox 之前使用输入,否则它会被评估为 *:checkbox,这会使执行变慢
    • 我只是重用了他的例子。由于 :checkbox 已被弃用,我已使用首选选择器对其进行了更新,该选择器利用了本机 DOM 方法。
    【解决方案2】:

    使用 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
    

    来源:How to find Checkboxes? at coderanch

    【讨论】:

    • 我得到 .size() 不是一个函数 - 更改为 .length 有效
    • @Kenord 不用担心它会发生 ^.^
    猜你喜欢
    • 2020-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-14
    • 2010-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多