Ho una forma simile a questo:Form serializeArray get key: valore se key è array nidificato in 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>
...
Ora, se io chiamo $('form').serializeArray();
su questo l'uscita è in questo modo:
[
{
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"
},
// ...
]
Come posso fare questo per essere come:
{
dog: [
0: {"name": "ABC", "color": "Blue", "height": 41, "weight": "10"}
1: {"name": "XYZ", "color": "Pink", "height": 27, "weight": "7"}
]
}
? C'è un modo che non richiede cicli annidati?
risposta è qui http://stackoverflow.com/questions/19643310/jquery-serialize-form-data-to-associated-array –
C'è un plugin per questo se non vuoi crearne uno: https: // github .com/Macek/jquery-serialize-oggetto –