JQuery:将字段名称和值组合成一个对象,然后推入一个数组

时间:2017-04-18 09:07:28

标签: javascript jquery arrays

我有一个包含三组字段的表单。

像这样:



DatabaseReference reference = database.getReference();




如何将每个div中的字段名称和值组合到自己的json对象中,将对象推送到数组中,然后在提交之前将数组添加到隐藏的输入字段?

1 个答案:

答案 0 :(得分:1)

您可以使用map()get()创建数组,在内部可以为每个div返回对象。



var data = $('form > div').map(function() {
  var obj = {}
  $(this).find('input, textarea').each(function() {
    obj[$(this).attr('name')] = $(this).attr('value');
  })
  return obj;
}).get()

console.log(data)

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
  <div class="food">
    <input type="text" name="a" value="1" />
    <input type="text" name="b" value="11" />
    <textarea name="c" value="111"></textarea>
  </div>

  <div class="drinks">
    <input type="text" name="a" value="2" />
    <input type="text" name="b" value="22" />
    <textarea name="c" value="222"></textarea>
  </div>

  <div class="gifts">
    <input type="text" name="a" value="3" />
    <input type="text" name="b" value="33" />
    <textarea name="c" value="333"></textarea>
  </div>
</form>
&#13;
&#13;
&#13;