Tôi có một hình thức như thế này:Biểu mẫu serializeArray nhận khóa: giá trị nếu khóa là mảng lồng nhau trong HTML?
<select name="dog[0][name]">...</select>
<select name="dog[0][color]">...</select>
<select name="dog[0][height]">...</select>
<select name="dog[0][weight]">...</select>
<select name="dog[1][name]">...</select>
<select name="dog[1][color]">...</select>
<select name="dog[1][height]">...</select>
<select name="dog[1][weight]">...</select>
...
Bây giờ, nếu tôi gọi $('form').serializeArray();
về vấn đề này đầu ra là như thế này:
[
{
name: "dog[0][name]",
value: "ABC"
},
{
name: "dog[0][color]",
value: "Blue"
},
{
name: "dog[0][height]",
value: "41"
},
{
name: "dog[0][weight]",
value: "10"
},
{
name: "dog[1][name]",
value: "XYZ"
},
{
name: "dog[1][color]",
value: "Pink"
},
{
name: "dog[1][height]",
value: "27"
},
{
name: "dog[1][weight]",
value: "7"
},
// ...
]
Làm thế nào tôi có thể làm điều này là như sau:
{
dog: [
0: {"name": "ABC", "color": "Blue", "height": 41, "weight": "10"}
1: {"name": "XYZ", "color": "Pink", "height": 27, "weight": "7"}
]
}
? Có cách nào không yêu cầu vòng lặp lồng nhau không?
trả lời là ở đây http://stackoverflow.com/questions/19643310/jquery-serialize-form-data-to-associated-array –
Có một plugin cho rằng nếu bạn không muốn xây dựng của riêng bạn: https: // github .com/macek/jquery-serialize-object –