我正在尝试从表单中获取结果 - 特别是多复选框。
所以我想将结果作为一个简单的数组
[2,4,6,5,7]
我已经尝试过这些 -
$('.ids:checked').serialize()
$('.ids:checked').serializeArray()
最佳答案
使用 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>
或者使用
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;
}));
});
<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>
关于Javascript、表单、复选框结果放入数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42489358/