Вы можете попробовать что-то вроде этого:
<!DOCTYPE html>
<html>
<body>
<form action="/action_page.php">
<select name="users[1][name]">
<option value="1"> John </option>
<option value="2"> Doe </option>
</select>
<select name="users[1][role]">
<option value="1"> Browser </option>
<option value="2"> Project Manager </option>
</select>
<div>
<input type="submit" name="submit" value="submit" />
</div>
</form>
</body>
</html>
Отправленные данные формы будут выглядеть следующим образом:
users[1][name]=1&users[1][role]=1&submit=submit
Если вы хотите добавить другой набор выбранных входов в качестве пользователей -просто увеличьте значение.Таким образом, следующий добавленный набор будет выглядеть следующим образом:
<!DOCTYPE html>
<html>
<body>
<form action="/action_page.php">
<select name="users[1][name]">
<option value="1"> John </option>
<option value="2"> Doe </option>
</select>
<select name="users[1][role]">
<option value="1"> Browser </option>
<option value="2"> Project Manager </option>
</select>
<!-- Newly added by js -->
<select name="users[2][name]">
<option value="1"> John </option>
<option value="2"> Doe </option>
</select>
<select name="users[2][role]">
<option value="1"> Browser </option>
<option value="2"> Project Manager </option>
</select>
<div>
<input type="submit" name="submit" value="submit" />
</div>
</form>
</body>
</html>
Если возникнет проблема с определением индекса для вставки при создании, вам нужно будет изменить функцию JS "add".
Есть несколько подходов - Вы можете сохранить некоторую переменную, которая будет просто хранить количество пользователей, начиная с 1, при каждом добавлении Вы будете увеличивать его.
Вы также можете посчитать количество выборок и получить правильное количество следующего элемента. Вы также можете изменить структуру своей формы, чтобы сохранить оба выбора в div с некоторым классом и выполнить подсчет элементов на нем.
Вот несколько советов по jsFiddle с ванильным JavaScript: https://jsfiddle.net/mrba8dLy/