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

lee*_*ers 84 html javascript jquery

可能重复:
使用jQuery选择复选框组的值

在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" />
Run Code Online (Sandbox Code Playgroud)

将选中/选中的group1复选框的值返回到如下数组中:

var values = [ 18, 55, 10 ];
Run Code Online (Sandbox Code Playgroud)

CMS*_*CMS 202

您可以使用:checkbox:checked伪选择器和.class选择器,确保您获得正确的元素,只检查您指定的类的复选框.

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

var values = $('input:checkbox:checked.group1').map(function () {
  return this.value;
}).get(); // ["18", "55", "10"]
Run Code Online (Sandbox Code Playgroud)

  • 用这个作为参考,谢谢.要回答最后一条评论,请使用selector:$('input:checkbox [name = SOMENAME]') (6认同)

Anu*_*rag 31

var matches = [];
$(".className:checked").each(function() {
    matches.push(this.value);
});
Run Code Online (Sandbox Code Playgroud)


小智 5

您还可以将underscore.js添加到项目中,并且可以在一行中执行:

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

  • "一条线"; 这是一个*很长*行...... (2认同)