Javascript 为JSON序列化制作html格式数组时出现的问题

Javascript 为JSON序列化制作html格式数组时出现的问题,javascript,html,Javascript,Html,我有一些表格: <form id="AddOrganizationForm"> <select data-val="true" data-val-required="The OrganizationRole field is required." id="Role_0_qq" name="Role[0]"> <option value="0">Value4</option> <option value="1">Value1&

我有一些表格:

<form id="AddOrganizationForm">
<select data-val="true" data-val-required="The OrganizationRole field is required." id="Role_0_qq" name="Role[0]">
   <option value="0">Value4</option>
   <option value="1">Value1</option>
   <option value="2">Value2</option>
   <option value="3">Value3</option>
</select>
<select data-val="true" data-val-required="The OrganizationRole field is required." id="Role_0_ww" name="Role[1]">
   <option value="0">Value4</option>
   <option value="1">Value1</option>
   <option value="2">Value2</option>
   <option value="3">Value3</option>
</select>
<input name="some1" value="3" />
<input name="some2" value="5" />
</form>
当我使用$AddOrganizationForm.serializeObject时,我得到了一个对象,其中角色[0]和角色[1]只是一个seParated对象,而不是数组。如何修复它?

在中使用

还有,是的,请去掉双重身份证。。。否则可能会引起麻烦

如果要将所有表单元素的值放在一个数组中,请尝试.serializeArray而不是.serializeObject。有关如何使用它的示例,请参见下面的


在您的案例中,您会发现:

将两个选择id中的name=Role[1]和name=Role[2]替换为name=Role

是相同的,有意的?在尝试回答我刚刚意识到的问题后,它不是很精确。你能给我们一些指示吗,你到底想在你的阵列中找到什么?选择,所有输入元素?选择的选项是什么?或者仅选择选项和输入的文本/值?serializeObject不是jQuery函数,请参阅,因此我必须使用name='Role'进行选择?我相信这不会有问题,除非您将表单发送到PHP或其他页面,在这种情况下,您应该使用name=Role[],并且可以使用x['Role[]'从JS访问您的值[0/1]而不是x.Role[0/1]。是。你的工作方式很好。还有一个问题。在我的问题中,我把所有的都简化了,但是如果我想在每个对象都只有几个字段的情况下完成对象数组,该怎么办?我应该为每个输入指定什么名称?你能帮帮我吗?它很可能会起作用,你也可以尝试一下。如果我的角色是一个对象及其内容角色呢。Something=3,Role.More=8,Role.DoIt=1。。。甚至不接近我想要得到的。那么,你想要的是逻辑地连接两个选择,从这个意义上说,它们的值应该映射到同一个数组中@纳比尔·卡迪米似乎正确地理解了你,所以可能只是我理解有点慢;-。。。我想得到一个形式的对象,在这个对象中有分离的字段。因为我将使用Ajax发送此表单,服务器端应将其映射到c中的对象。感谢您让我了解这一点!:-然后我的第一句话肯定是回答了别的;-。。。不过,文件中应该包含一些对您有用的内容。。。
var objArr=$("#AddOrganizationForm select").makeArray();