重新格式化Javascript对象以与Foreach一起使用
我有一个表单,它有一个可重复的字段组。我在表单提交中使用重新格式化Javascript对象以与Foreach一起使用,javascript,jquery,arrays,serialization,Javascript,Jquery,Arrays,Serialization,我有一个表单,它有一个可重复的字段组。我在表单提交中使用serializeArray()来获取所有表单值,但是可重复字段的格式不易操作,因此我需要修改这些字段,以便能够在foreach中使用它们 这是来自serializeArray() 从上面可以看出,对于每个重复的字段组,它会将[N]添加到Acpeator Vehicle中,但是这种平面格式不允许我循环使用字段集 如何将其重新格式化为适当的格式?什么是“适当的格式”?请提供预期的输出。一种可能是:.queryselectoral('[name
serializeArray()
来获取所有表单值,但是可重复字段的格式不易操作,因此我需要修改这些字段,以便能够在foreach中使用它们
这是来自serializeArray()
从上面可以看出,对于每个重复的字段组,它会将[N]添加到Acpeator Vehicle中,但是这种平面格式不允许我循环使用字段集
如何将其重新格式化为适当的格式?什么是“适当的格式”?请提供预期的输出。一种可能是:
.queryselectoral('[name^=“acrepeater vehical”]')
并且在每次迭代中使用正则表达式或其他东西来检查您使用的是哪一项,但这似乎有点太难看了。应该有更优雅的方式!我假设您正在寻找一个对象数组,其中的对象具有诸如车辆制造等属性?看起来像是一个option@Snow是的,没错。对不起,我应该在我的问题中添加一个示例格式。我基本上需要一组带有子字段的车辆
{
"_acffr_repeatable_group_fields": "[\"acrepeater-vehical[0][vehicle-make]\",\"acrepeater-vehical[0][vehicle-model]\",null,\"acrepeater-vehical[0][vehicle-year]\",\"acrepeater-vehical[1][vehicle-make]\",\"acrepeater-vehical[1][vehicle-model]\",null,\"acrepeater-vehical[1][vehicle-year]\",\"acrepeater-vehical[2][vehicle-make]\",\"acrepeater-vehical[2][vehicle-model]\",null,\"acrepeater-vehical[2][vehicle-year]\"]",
"_acffr_repeatable_groups": "[\"acrepeater-vehical\"]",
"your-name": "Name",
"your-email": "test@test.com",
"YourZipCode": "zip code",
"acrepeater-vehical[0][vehicle-make]": "Make 1",
"acrepeater-vehical[0][vehicle-model]": "Model 1",
"acrepeater-vehical[0][vehicle-type]": "Car",
"acrepeater-vehical[0][vehicle-year]": "2001",
"acrepeater-vehical[1][vehicle-make]": "Make 2",
"acrepeater-vehical[1][vehicle-model]": "Model 2",
"acrepeater-vehical[1][vehicle-type]": "Truck",
"acrepeater-vehical[1][vehicle-year]": "2002",
"acrepeater-vehical[2][vehicle-make]": "Make 3",
"acrepeater-vehical[2][vehicle-model]": "Model 3",
"acrepeater-vehical[2][vehicle-type]": "Commercial",
"acrepeater-vehical[2][vehicle-year]": "2003"
}