jQuery所有选中的checkbox的数组(按类)
可能重复:
用jQueryselectcheckbox组的值
在HTML中,我有一组checkbox按类组合在一起。 我想在jQuery中获得一个数组,其中包含所有为该类select/检查的checkbox(因此,页面上的其他checkbox将被忽略)。
所以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" />
将检查/选中的group1
checkbox的值返回到这样一个数组:
var values = [ 18, 55, 10 ];
您可以使用:checkbox
和:checked
伪select器和.class
select器,您将确保获得正确的元素,只勾选指定类的checkbox。
然后你可以很容易地使用Traversing / map方法获取一个数组值:
var values = $('input:checkbox:checked.group1').map(function () { return this.value; }).get(); // ["18", "55", "10"]
var matches = []; $(".className:checked").each(function() { matches.push(this.value); });
您还可以将underscore.js添加到您的项目中,并可以在一行中完成:
_.map($("input[name='category_ids[]']:checked"), function(el){return $(el).val()})