计算使用 jquery 检查的 html 复选框的数量
Posted
技术标签:
【中文标题】计算使用 jquery 检查的 html 复选框的数量【英文标题】:calculate the number of html checkbox checked using jquery 【发布时间】:2010-12-29 18:16:27 【问题描述】:如何计算用户使用 jquery 选中的复选框数量?
我想要做的是将表单中复选框的检查次数限制为 10 个,例如,当用户超出此范围时会显示警告消息。
【问题讨论】:
How to get a count of all checked checkboxes on a page 的可能重复项 【参考方案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 起已弃用
【讨论】:
以上是关于计算使用 jquery 检查的 html 复选框的数量的主要内容,如果未能解决你的问题,请参考以下文章