How to serialize multidimensional inputs using jQuery?

I have the following html:

<form class="add_skill_form">
  <input type="hidden" name="skills[][skill_title]" value="Skill 1" />
  <input type="hidden" name="skills[][skill_level]" value="1" />

  <input type="hidden" name="skills[][skill_title]" value="Skill 2" />
  <input type="hidden" name="skills[][skill_level]" value="2" />
</form>

And I would like to serialize this using jQuery if possible, for example:

var loFormFields = $('.add_skill_form').serializeArray();

Now I do not get the parameters that I would like, for example:

$_POST['skills'] = array
(
   0 => array('skill_title' => 'Skill 1', 'skill_level' => 1),
   1 => array('skill_title' => 'Skill 2', 'skill_level' => 2)
)

Any clue?

Thank!

+3
source share
1 answer

I would try to replace array indices - for example, name="skills[skill_title][]"

Then, if you absolutely need to swap indexes back, move the array to PHP .

0
source

All Articles