2009-12-24 59 views
20

我如何计算用户使用jquery检查过的复选框的数量?计算使用jquery检查的html复选框的数量

我想要做的是限制在一个窗体中的复选框检查数量为10例如,当用户超过此范围显示警告消息。

+0

可能重复[如何获得一个页面上所有选中的复选框的计数](http:// stackove rocket.com/questions/872296/how-to-get-a-count-of-all-checked-checkboxes-on-a-page) – gcochard 2014-01-20 18:34:21

回答

60

有多种方法来做到这一点:

方法1:

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

方法2:

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

方法:3

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

好的答案,但不应该使用.checkbox_id_here而不是#checkbox_id_here?如果使用#checkbox_id_here,则size()将始终为1,这将毫无意义,因为只能有一个唯一的ID。有意义的可以参考类,而不是在那里可以有多个复选框 – 2010-12-26 18:47:04

+0

@Bug Magnet:感谢您指出错字,修复:) – Sarfraz 2010-12-27 06:07:11

+1

'alert($('.pairing-cbk:checked')。size()); ('('。pairing-cbk:checked')。size());'由于上面提到的原因@James Wiseman – Amitabh 2012-03-31 19:21:09

17

一看这应该工作:

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

$(“input:checkbox:checked”)。length;与复选框之间的空间和:检查将无法正常工作,这发生在我身上。 – 2012-03-08 15:59:53

+1

这是因为它会查找'checked:checkbox'的下界,而不是'input:checkbox',它们自己被检查。该空间规定了祖先/后代关系。 – 2012-03-09 08:23:33

+0

感谢您输入我实际上不知道的。 – 2012-03-09 21:27:10

2

如果没有上述工作的方法,你可能还没有进口的jQuery呢。 要导入jQuery,请将此代码粘贴到HTML的<head>中。

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

其实我有同样的问题,同时创造一个产品订购页面,我想它来计算在订单确认页面购物车的产品数量。我提到这篇文章并尝试了所有的方法。然后我发现我没有导入jQuery,所以$(':checkbox:checked')没有工作。

0

你应该使用

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

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

,如果你有一个页面上

.size()(方法目前公认的答案1号)已被弃用更多形式自jQuery 1.8