计算已选中的复选框

时间:2012-03-14 02:01:04

标签: jquery checkbox

我在计算jQuery中的已检查复选框时遇到问题,这与我能找到的每个示例都有冲突。以下代码有效:

var checked_boxes = $('input:checkbox:checked').length // Returns 1 or 2 etc.

但是,我想修改它来计算特定类的复选框数,比如my_class。我尝试过以下方法:

var checked_boxes = $('input.my_class:checked').length // Always 0
var checked_boxes = $('input.my_class:checkbox:checked').length // Always 0
var checked_boxes = $('input[type=checkbox].my_class:checked').length // 0 also

与我尝试的其他几种语法/排列相同。

对于某些背景,这些复选框位于td的表格中,基本上如下所示:

<input type="checkbox" id="cb1" class="some_class_for_display_style my_class" value="1" />Blah

知道我在这里缺少什么吗?

编辑:

发现问题:这是错误的课程。我添加了这个效果的答案。

4 个答案:

答案 0 :(得分:13)

删除选择器中的$符号。

$('input.my_class:checked').length - 已选中的复选框数

$('input.my_class').length - 具有类my_class

的所有复选框的计数

答案 1 :(得分:1)

这就是你要找的东西:

如果你能提供一个有效的JSFiddle会很好,但下面的希望链接可以帮助你。

示例:(您正在寻找这些2的混合物)

http://jsfiddle.net/mtYtW/30/http://jsfiddle.net/karim79/LUtJF/1/

这里很少有好的答案:

Jquery how to count checked and disable checkboxes

希望它有所帮助,干杯

答案 2 :(得分:1)

最快的Rubber Duck回答!!

发布后,我回到查看我的代码,并惊恐地发现我已经将类应用于td而不是check_box_tag(我正在使用Rails)..将类移到了check_box_tag它似乎现在正在运作。

谢谢大家!

答案 3 :(得分:0)

如果$input是PHP变量,则需要转义JS字符串以使用变量:

var checked_boxes = $('<?php echo $input ?>'.my_class:checked).length;

如果它是JS变量,同样的事情:

var checked_boxes = $('input.<?php echo $my_class; ?>:checked').length;

如果它不是变量,您只需要从选择器中删除初始$

var checked_boxes = $('input.my_class:checked').length;