Javascript,form,checkbox导致数组

时间:2017-02-27 15:20:25

标签: javascript jquery arrays

我正在尝试从表单中获取结果 - 特别是多个复选框。

所以我想把结果作为一个简单的数组

[2,4,6,5,7]

我试过这些 -

$('.ids:checked').serialize()
$('.ids:checked').serializeArray()

2 个答案:

答案 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;
&#13;
&#13;

<小时/> 或者使用jQuery.map()方法迭代并生成数组,其中回调中的第一个参数引用元素。

$.map($('.ids:checked'),function(ele){ 
  // return the value, which would be the array element
  return ele.value; 
});

&#13;
&#13;
$("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;
&#13;
&#13;

答案 1 :(得分:0)

var myArray = Array.prototype.map.call($('.ids:checked'), function(item){return item.value;});

使用核心js数组映射方法并将其绑定到jquery对象