【问题标题】:calculate the number of html checkbox checked using jquery计算使用 jquery 检查的 html 复选框的数量
【发布时间】:2010-12-29 18:16:27
【问题描述】:

如何计算用户使用 jquery 选中的复选框数量?

我想要做的是将表单中复选框的检查次数限制为 10 个,例如,当用户超出此范围时会显示警告消息。

【问题讨论】:

标签: jquery html forms checkbox


【解决方案1】:

有多种方法可以做到这一点:

方法一:

alert($('.checkbox_class_here:checked').size());

方法二:

alert($('input[name=checkbox_name]').attr('checked'));

方法:3

alert($(":checkbox:checked").length);

【讨论】:

  • 很好的答案,但您不应该使用 .checkbox_id_here 而不是 #checkbox_id_here 吗?如果您使用#checkbox_id_here,size() 将始终为 1,这将毫无意义,因为只能有一个唯一 ID。改为引用类是有意义的,其中可以有多个复选框
  • alert($('.pairing-cbk :checked').size()); 没有工作,但 alert($('.pairing-cbk:checked').size()); 工作由于上述@James Wiseman 提到的原因
  • 值得注意的是 alert($('input[name=checkbox_name]').attr('checked'));选中复选框时警报“已选中”,如果未选中则警报“未定义”。它没有按照 OP 的要求给出复选框的“计数”。因此,虽然方法 1 和 3 有效,但不幸的是,方法 2 不起作用。
【解决方案2】:

这应该可行:

alert($("input:checkbox:checked").length);

【讨论】:

  • $("input:checkbox :checked").length;复选框和 :checked 之间有空格不起作用,这发生在我身上。
  • 那是因为它会寻找 input:checkbox 的后代 checked,而不是寻找自己检查的 input:checkbox。该空间规定了祖先/后代关系。
  • 感谢您的意见,我实际上并不知道。
【解决方案3】:

如果以上方法都不起作用,你可能还没有导入 jQuery。 要导入 jQuery,请将此代码粘贴到 HTML 的 <head> 中。

<script src="//code.jquery.com/jquery-1.10.2.js"></script>

我在创建产品订购页面时实际上遇到了同样的问题,我希望它在订单确认页面计算购物车中的产品数量。我参考了这篇文章并尝试了所有方法。然后我发现我没有导入jQuery,所以$(':checkbox:checked')不起作用。

【讨论】:

    【解决方案4】:

    你应该使用

    alert($("input:checkbox:checked").length);
    

    alert($(".checkbox-class:checked").length);
    

    如果您在一页上有更多表单

    .size()(当前接受的答案中的方法号 1)自 jQuery 1.8 起已弃用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-21
      • 2013-09-05
      • 2013-06-14
      • 1970-01-01
      • 1970-01-01
      • 2013-10-16
      • 2012-05-12
      相关资源
      最近更新 更多