2016-04-13 2 views
1

Поэтому в основном я иметь следующий вид 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 каждый раз и изменять все индексы массива.

Заранее спасибо.

+0

Так в чем ваш вопрос? Вы можете делать ответы, такие как 'answer [questionIndex] [alternativeIndex]'. Вам не нужно иметь непрерывную последовательность индексов. Таким образом, удаление не означает переиндексацию целого массива ответов. – macino

+0

вместо 'Alternative [0] []' вы можете лучше иметь «Alternative-0 []», поэтому, добавляя новые строки, вы сделаете динамическую часть имени, объединив индекс вопроса. таким образом вам придется играть с одним массивом, и для каждого вопроса у вас будет массив его альтернатив. –

ответ

0

Решено использовать это с помощью javascript. На представлении у меня есть сценарий, работающий над существующими альтернативами, и проанализируйте его на объект JSON, чтобы облегчить его обработку на бэкэнд.

Смежные вопросы