2016-04-13 12 views
1
そこで、基本的

I次の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> 

この理由は、私はをユーザに提供することですフォーム内の質問の1つをもう一度削除する能力、代替案と同じ。私は毎回domをループせず、すべての配列インデックスを変更したいと思っています。

ありがとうございます。

+0

あなたの質問は何ですか?あなたは 'answer [questionIndex] [alternativeIndex]'のような答えを行うことができます。インデックスの連続したシーケンスを持つ必要はありません。したがって、削除は、すべての回答の配列を再索引付けすることを意味するものではありません。 – macino

+0

の代わりに 'Alternative [0] []'を使うと、 'Alternative-0 []'を使うほうがいいので、新しい行を追加している間に質問インデックスを連結して名前を動的にします。この方法では、あなたは単一の配列で遊ぶ必要があります。そして、各質問について、あなたはその選択肢の配列を持ちます。 –

答えて

0

これはjavascriptを使用して解決しました。送信時に、現在の選択肢を実行するスクリプトを作成し、それをJSONオブジェクトに解析してバックエンドでの処理を容易にします。