Javascript 所有选中复选框的jQuery数组(按类)

Javascript 所有选中复选框的jQuery数组(按类),javascript,jquery,html,Javascript,Jquery,Html,可能重复: 在HTML中,我有一组复选框,它们由一个类分组在一起。我想在jQuery中获得一个数组,其中包含为该类选择/选中的所有复选框(因此忽略页面上的其他复选框) 所以HTML代码如下: <input type="checkbox" class="group1" value="18" checked="checked" /> <input type="checkbox" class="group1" value="20" /> <input type="che

可能重复:

在HTML中,我有一组复选框,它们由一个类分组在一起。我想在jQuery中获得一个数组,其中包含为该类选择/选中的所有复选框(因此忽略页面上的其他复选框)

所以HTML代码如下:

<input type="checkbox" class="group1" value="18" checked="checked" />
<input type="checkbox" class="group1" value="20" />
<input type="checkbox" class="group1" value="15" />
<input type="checkbox" class="group2" value="14" />
<input type="checkbox" class="group1" value="55" checked="checked" />
<input type="checkbox" class="group1" value="10" checked="checked" />
<input type="checkbox" class="group2" value="77" checked="checked" />
<input type="checkbox" class="group1" value="11" />
var values = [ 18, 55, 10 ];
您可以使用和伪选择器以及
.class
选择器,这样可以确保获得正确的元素,仅选中指定类的复选框

然后,您可以轻松使用该方法获取值数组:

var values = $('input:checkbox:checked.group1').map(function () {
  return this.value;
}).get(); // ["18", "55", "10"]
您还可以添加到项目中,并可以在一行中完成:

_.map($("input[name='category_ids[]']:checked"), function(el){return $(el).val()})

…将为您提供一个jQuery对象,而不是数组。谢谢Stefan,没有意识到需要一个值数组:)您将如何使用元素名称而不是类来完成此操作?用于参考,谢谢。要回答最后的注释,请使用选择器:$('input:checkbox[name=SOMENAME]')@user387049您可以这样使用它(假设sector4是复选框数组的名称):
$('input[name='sector4[]']:checkbox:checked”)。每个(函数(){})
我根本不需要使用
.get()
,工作正常。老实说,使用它会犯错误。这应该是一个与jquery版本相关的问题。我怎样才能使它在
change
函数中给出这个问题?感谢“一行”;那是一条很长的线…
_.map($("input[name='category_ids[]']:checked"), function(el){return $(el).val()})