为JSON序列化以html形式生成数组时出现问题

Issue in making array in html form for JSON serialization

本文关键字:数组 问题 序列化 JSON html      更新时间:2023-09-26

我有一些形式:

<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()时,我得到了Role[0]和Role[1]只是一个分隔的对象而不是数组的对象。我该怎么修?

替换name="Role[1]"&name="Role[2]"name="Role"

在中使用makeArray

var objArr=$("#AddOrganizationForm select").makeArray();

是的,请移除双id。。。否则可能会造成麻烦

如果希望将所有表单元素的值放在一个数组中,请尝试.serializeArray()而不是.serializeObject()。有关如何使用它的好例子,请参阅jQuery手册中serializeArray()下的

在您的案例中,您得到的是:JSfiddle