【发布时间】:2013-07-26 01:28:21
【问题描述】:
希望我能正确解释这一点。我有一个表单,它可以从诸如
的分组表单元素转换为嵌套 json<input type="checkbox" name="faults[slats][]" value="cracked"/>
<input type="checkbox" name="faults[slats][]" value="broken"/>
<input type="text" name="partsRequired[0][partDescription]"/>
<input type="text" name="partsRequired[0][size][]"/>
<input type="text" name="partsRequired[0][size][]"/>
<input type="text" name="partsRequired[1][partDescription]"/>
<input type="text" name="partsRequired[1][size][]"/>
<input type="text" name="partsRequired[1][size][]"/>
解析后的 json 看起来像:
{
faults : {
"slats": [
"cracked",
"broken"
]
},
partsRequired: [
{
"partDescription": "Fabric Ochre",
"size": ["1x5m", "1m", "2m"],
"colour": "Ochre",
"quantity": "1"
},
{
"partDescription": "",
"size": "",
"colour": "",
"quantity": ""
}
]
}
我需要能够遍历这些数据并重新填充表单。我有一个函数可以重新创建变量名称和值,这种方式允许我为第一组数据“错误”执行此操作。我遇到的问题是,我无法弄清楚如何为两者结合所需的第二个场景部分执行此操作。
见小提琴:http://jsfiddle.net/JyfA2/1/。您可以看到,如果将数组传递给数组函数,它会创建正确的数据,但传递 partsRequired 会保存 partsRequired[0][size][] 的键整数,这给了我错误的名称来查找和填充表单上的元素.
我该如何解决这个问题?
【问题讨论】:
-
是您用来从自定义表单中获取 JSON 的代码,因为老实说,我会采取与您正在做的完全不同的方法。尤其是表单元素名称。我保证有一个更简单的方法。
-
生成json的代码是自定义的。我需要能够使用我发布的名称来创建您看到的 json 树结构。如果您对如何在不产生我在这里遇到的问题的情况下做到这一点有其他想法,我很想听听您是如何解决的。
标签: javascript arrays json javascript-objects