Поэтому в основном я иметь следующий вид HTML:двухмерных HTML форма входа
<form>
<div class="Question">
<input name="question" type="text"></input>
<div class="alternatives">
<input type="text" name="TextAlternative[]"></input>
<input type="text" name="TextAlternative[]"></input>
</div>
<a href="#\" class="newTextAlternative_click">New Alternative</a>
</div>
<a href="#\" class="newTextQuestion_click"></a>
</form>
Я работаю на онлайн-приложении опроса, и я хочу, чтобы дать пользователю возможность задавать ряд вопросов, наряду с массив альтернатив для каждого вопроса.
Нажмите на newTextAlternative_click создает новое альтернативное поле ввода. Благодаря обозначению скобки в имени альтернативных входных данных TextAlternative [] Я могу просто запросить все альтернативы вопроса в виде массива.
Проблема возникает, когда я сгенерирую еще Вопрос div. Я хочу, чтобы иметь возможность запрашивать входы для каждого вопроса, как массив, так что я попытался сделать следующее:
<input name="question[]" type="text"></input>
Это дает мне возможность запросить вопрос для каждого вопроса определяется как массив. Однако сейчас у меня проблемы с альтернативами.
Я хочу, чтобы иметь возможность запросить альтернативы следующим образом:
Question[i]Alternative[i]
без необходимости прописывать это следующим образом:
<input name="Alternative[0][]"></input>
Причина этого заключается в том, что я предоставить пользователю с возможность снова удалить один из вопросов в форме, то же самое для альтернатив. Я бы предпочел не зацикливать dom каждый раз и изменять все индексы массива.
Заранее спасибо.
Так в чем ваш вопрос? Вы можете делать ответы, такие как 'answer [questionIndex] [alternativeIndex]'. Вам не нужно иметь непрерывную последовательность индексов. Таким образом, удаление не означает переиндексацию целого массива ответов. – macino
вместо 'Alternative [0] []' вы можете лучше иметь «Alternative-0 []», поэтому, добавляя новые строки, вы сделаете динамическую часть имени, объединив индекс вопроса. таким образом вам придется играть с одним массивом, и для каждого вопроса у вас будет массив его альтернатив. –