Jquery 应该从表单返回一个数据数组,返回两个

Posted

技术标签:

【中文标题】Jquery 应该从表单返回一个数据数组,返回两个【英文标题】:Jquery should return one array of data from form, returns two 【发布时间】:2017-06-11 09:15:21 【问题描述】:

我正在使用 Jquery 处理一种单选按钮和数组形式,但我无法将所选值记录到一个数组中。这是我的代码:

<script> 
 $(document).ready(function()
    $("#submit").click(function()
        var x = $("form").serializeArray();
        $.each(x, function(i, field)
			//do other stuff with it later	
        );
    );
);
</script>
<form>

	<fieldset id="group1">
	<div>
		<input type="radio" id="r1" name="group1"" value="STEM"> 
		<label for="r1"> STEM (Science, Tech, Engineering and Math)</label>
	</div>
	<div>
		<input type="radio" id="r2" name="group1"" value="HUMAN"> 
		<label for="r2">Humanities (Art, History, Music, Language) </label>
			
	</div>
	</fieldset>
	<fieldset id="group2">
	<div>
		<input type="radio" id="r3" name="group2" value="EXTRO"> 
		<label for="r3"> Extrovert (Like being around other people)</label>
	</div>
	<div>
		<input type="radio" id="r4" name="group2" value="INTRO"> 
		<label for="r4">Introvert (Don't like being around other people)</label>
	</div>
	</fieldset>
</form>
<button id="submit" type="button" value="Submit">Submit</button>

我想输出到一个数组中,但目前它为每个字段集输出到一个数组中,我该如何解决这个问题?

Ciao.

【问题讨论】:

这里只返回一个数组jsfiddle.net/5zxLrcht 真的不清楚你在问什么或试图做什么。显示预期结果。还建议您阅读文档 @Web_Designer 嗯?它在这两个索引处都包含对象,而不是数组。完全按照文档记录 @charlietfl 你的权利。我错了。我误读了控制台。 【参考方案1】:

也许我没有正确理解这个问题,但函数的输出似乎是一个对象数组,[name: 'group1', value: ..., name: 'group2', value : ...] 所以,如果你只想要一个数组中的值,这似乎可以完成这项工作。

var x = $("form").serializeArray().map((ob) => ob.value);

(我想询问详细信息,但我无法发表评论,因为我没有足够的声誉......希望它有所帮助。)

【讨论】:

以上是关于Jquery 应该从表单返回一个数据数组,返回两个的主要内容,如果未能解决你的问题,请参考以下文章

从函数返回的访问数组 - javascript/jquery noob moment

将值(设置)从 jQuery Mobile 1.4 表单中取出并返回到 jQuery Mobile 1.4 表单中。怎么做?

具有来自函数属性的静态值的 jQuery 发布表单

求助!怎样向别人的网站提交表单并返回信息?

用jquery的post方法提交数据需要servlet返回的数据类型是json的数据格式,应该怎么做??

Jquery表单序列化后添加数据