我正在尝试从表单中获取结果 - 特别是多个复选框。
所以我想把结果作为一个简单的数组
[2,4,6,5,7]
我试过这些 -
$('.ids:checked').serialize()
$('.ids:checked').serializeArray()
答案 0 :(得分:3)
使用jQuery map()
方法生成集合,并使用get()
方法将其作为数组获取。
$('.ids:checked').map(function(){
// return the value, which would be the collection element
return this.value;
// get it as an array
}).get()
$("button").click(function() {
console.log($('input:checked').map(function() {
return this.value;
}).get());
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<input type="checkbox" name="bla1" value="something1">
<input type="checkbox" name="bla2" value="something2">
<input type="checkbox" name="bla3" value="something3">
<input type="checkbox" name="bla4" value="something4">
<input type="checkbox" name="bla5" value="something5">
<input type="checkbox" name="bla6" value="something6">
</form>
<button>
Click
</button>
&#13;
<小时/> 或者使用
jQuery.map()
方法迭代并生成数组,其中回调中的第一个参数引用元素。
$.map($('.ids:checked'),function(ele){
// return the value, which would be the array element
return ele.value;
});
$("button").click(function() {
console.log($.map($('input:checked'), function(ele) {
return ele.value;
}));
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<input type="checkbox" name="bla1" value="something1">
<input type="checkbox" name="bla2" value="something2">
<input type="checkbox" name="bla3" value="something3">
<input type="checkbox" name="bla4" value="something4">
<input type="checkbox" name="bla5" value="something5">
<input type="checkbox" name="bla6" value="something6">
</form>
<button>
Click
</button>
&#13;
答案 1 :(得分:0)
var myArray = Array.prototype.map.call($('.ids:checked'), function(item){return item.value;});
使用核心js数组映射方法并将其绑定到jquery对象