获取已选中复选框的总数

时间:2013-06-13 10:14:30

标签: jquery checkbox

我有一个带有复选框的表单,输入存储在一个数组中:

<input type="checkbox" name="lineup[]" value="1">Tom</input>
<input type="checkbox" name="lineup[]" value="2">David</input>
<input type="checkbox" name="lineup[]" value="3">Sarah</input>

使用jQuery我想找到勾选/选中的复选框:

var total=$(this).find('input[name=lineup]').serialize();

alert(total.length);

然而,总数总是输出0.我做错了什么?

谢谢,

艾伦。

3 个答案:

答案 0 :(得分:39)

在选择器中使用:checked,不要将其序列化,只需获取长度。

var total=$(this).find('input[name="lineup[]"]:checked').length;

也可以在选择器中使用[],因为您的复选框在名称中使用[]。正如@Felix Kling指出的那样,它是名称的一部分,因此您必须明确指定[]

Demo

答案 1 :(得分:5)

试试这个

 alert($('input[name=lineup]:checked').length);

你的方式

$(this).find('input[name=lineup]:checked').length;

答案 2 :(得分:2)

怎么样:

var checkedBoxes = $('input[name=lineup]:checked').length;
alert(checkedBoxes);