gpt4 book ai didi

javascript - JQuery:将字段名称和值的集合组合成一个对象,然后插入一个数组

转载 作者:太空宇宙 更新时间:2023-11-04 15:47:12 25 4
gpt4 key购买 nike

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

像这样:

 <form>
<div class="food">
<input type="text" name="" value="" />
<input type="text" name="" value="" />
<textarea name="" value=""></textarea>
</div>

<div class="drinks">
<input type="text" name="" value="" />
<input type="text" name="" value="" />
<textarea name="" value=""></textarea>
</div>

<div class="gifts">
<input type="text" name="" value="" />
<input type="text" name="" value="" />
<textarea name="" value=""></textarea>
</div>
</form>

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

最佳答案

您可以使用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>

关于javascript - JQuery:将字段名称和值的集合组合成一个对象,然后插入一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43467992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com