Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как нумеровать клонированные инпуты? (https://javascript.ru/forum/jquery/56194-kak-numerovat-klonirovannye-inputy.html)

zebra741258963 04.06.2015 01:02

Как нумеровать клонированные инпуты?
 
Задача: создать форму для ввода плана работ водителям.
Базовые элементы: два select и один input type=text.
Когда надо ввести новый проект, происходит следующее: в первом селекте выбирается автомобиль, во-втором селекте выбирается водитель, а в инпуте пишется что он должен загрузить. Однако грузов может быть несколько, и по этому возле инпута есть кнопочка нажав на который создаётся ещё один инпут куда можно ввести дополнительный груз (то есть, можно создать много позиций которые доставляет этот водитель). Однако иногда для доставки нужно несколько машин. И тогда нужно несколько таких блоков в рамках одного заказа...

Я представляю это так: На форме в скрытом блоке есть образец:
<div class=Obrazec>
 <select name=Mashina>
 <select name=Voditel>
 <input type=text name=Gruz><a>+</a>
<div>

Как только форма загружается, jQuery скопирует этот блок в центр формы и оператор сможет его заполнять.
$(".Obrazec").clone().removeClass('Obrazec').appendTo(".PoleOperatora");
PoleOperatora - это пустой див, в котором будет вестись заполнение.

Если надо будет ввести несколько машин в рамках одного заказа - оператор несколько раз вызовет эту команду, и в ПолеОператора будет несколько блоков для выбора машины, водителя и описания груза.
Скажем при отправке трёх машин в php я бы получил массивы:
$_POST[Mashina[0]]
$_POST[Mashina[1]]
$_POST[Mashina[2]]
$_POST[Voditel[0]]
$_POST[Voditel[1]]
$_POST[Voditel[2]]
$_POST[Gruz[0]]
$_POST[Gruz[1]]
$_POST[Gruz[2]]

Но как быть с созданием дополнительных полей для ввода груза???
Ну например, первый из трёх задействованных в заказе водителей должен отвезти 2 груза.
Если я просто клонирую инпут в первом диве, то при обработке формы я уже не смогу определить что первые два инпута относятся к первому водителю! (потому что в php я получу массив из трёх машин, трёх водителей, но массив грузов будет состоять из 4 элементов и я не смогу понять кто что везёт). А следовательно я должен ещё как-то переименовывать созданные инпуты... Но как это делать правильно? Я не нашёл таких примеров в интернете.

laimas 04.06.2015 04:28

Водитель выбираемый как идентифицируется сервером?


Часовой пояс GMT +3, время: 01:11.