Search code examples
phpmulti-selectdynamicform

How to handle an HTML form containing dynamic muliselect fields using PHP?


I'm chasing a bit of a challenge handling an HTML form whose input fields are created dynamically using JavaScript DOM containing multiple select fields as well. Here is a sample code of the form I have:

<input type="text" name="attributeIndex[]" id="brand" class="form-control" placeholder="brand">
<select name="attributeIndex[]" id="color" class="form-control">
<option value="92">Aero</option>
<option value="277">Aluminum</option>
<option value="91">Amber</option>
</select>

After submitting the form, I want to get the form data in a PHP array like this:

$formData=$_GET['attributeIndex'];

The array $formData should be like this:

array(
[0]=>text input value here
[1]=>array(list of selected colors here)
)

Any suggestion will be highly appreciated!


Solution

  • Name the select with an additional []:

    <select name="attributeIndex[][]"
    

    That way each value PHP puts into $_GET will be in an array in an array.

    You'll also need to add the multiple attribute if you want more than one option to be selected.

    <select name="attributeIndex[][]" multiple id="color" class="form-control">