Szukałem godzin na to i nie znalazłem odpowiedzi. Proszę przeczytać całe pytanie przed płonąć! :)Serialize złożony formularz do obiektu JSON przy użyciu jQuery
Mam formularz podobny do tego:
<form id="sample">
<input name="name" type="text" value="name value" />
<input name="phone[0][type]" type="text" value="cell" />
<input name="phone[0][number]" type="text" value="000" />
<input name="phone[1][type]" type="text" value="home" />
<input name="phone[1][number]" type="text" value="111" />
</form>
i muszą być w stanie szeregować je w ten sposób:
{
name: 'name value',
phone: [
{
type: 'cell',
number: '000'
},
{
type: 'home',
number: '111'
}
]
}
Próbowałem większość odpowiedzi na SO tym jQuery json biblioteki i większość z nich coś powrócić tak:
{
'name': 'name value',
'phone[0][type]': 'cell',
'phone[0][number]': '000',
'phone[1][type]': 'home',
'phone[1][number]': '111',
}
to jest coś Nie mogę użyć! : P
Dziękuję wszystkim z góry.
Dziękuję bardzo Juliano! To jest idealne rozwiązanie! : D –
Działa jak magia. Miał niewielką modyfikację, aby obsłużyć sytuację, w której Twoja lista ma postać: var d = { 'name': 'name value', 'telefon [0] .type': 'cell', 'telefon [0] .numer ":" 000 ", " phone [1] .type ":" home ", " phone [1] .number ":" 111 ", }; Wynik zawiera (.) Wejścia z wewnętrznej listy Klawisz, więc dodałem Po pierwszej pętli for w processExpression (). –
_key_ jest dwukrotnie deklarowany w funkcji. – robsch