Jquery - 获取复选框值数组

时间:2014-07-17 13:27:01

标签: javascript jquery checkbox

我有name="location[]"的几个复选框,每个复选框都有不同的值value="3"value="5"等。我想知道如何在jquery中检查这些框以放置值在一个名为location[]的数组中?这是我的HTML:

<ul id="searchFilter">
<li class=""><input type="checkbox" name="location[]" class="cb_location" value="1">Toronto</li>
<li class=""><input type="checkbox" name="location[]" class="cb_location" value="3">New York</li>
<li class=""><input type="checkbox" name="location[]" class="cb_location" value="6">London</li>
<li class=""><input type="checkbox" name="location[]" class="cb_location" value="5">Paris</li>
<li class=""><input type="checkbox" name="location[]" class="cb_location" value="4">Berlin</li>             
</ul>

以及我所得到的jquery:

var $checkboxes = $("input:checkbox");
var opts = [];
$checkboxes.each(function(){
     if(this.checked){
     opts.push(this.name);
}

这会返回location[],并在我检查另一个项目时添加另一个location[]

请帮忙。

我还有其他复选框,价格[],sqft [] ...我希望将复选框保持在同一个地面,所以数组在1个数组中...我希望这是有意义的。

1 个答案:

答案 0 :(得分:6)

您可以使用:checked选择器和map()从一组匹配的元素创建数组。试试这个:

var opts = $(":checkbox:checked").map(function() {
    return $(this).val();
}).get();

Example fiddle