前提・実現したいこと
ソースコードに記載したフォームにおいてselectタグのvalue値を二次元配列にしてリクエスト送信を行いたいです。
例:
String favoriteThings = {"ラーメン屋","オムライス屋","ハンバーグ屋"}
String[][] reason ={{1,2},{1,3,4},{2}}
発生している問題
現状だとリクエスト送信時、selectタグの部分が一つの配列として、送信されてしまいます。
そのため、送信ボタンをおしてからクリックイベントでselectのvalue値を配列の形に整えてから送信しようと考えています。
試してみたことに記載したコードでは実現できず、長時間詰まっています。どなたか良い方法を教えていただけると嬉しいです。よろしくお願いいたします。
該当のソースコード
HTML
1<form method="post" action="/registration"> 2<div class="add"> 3<p>よく行く飲食店を教えてください</p> 4<input type="text" name="favoriteThings" class="favorite-things"> 5<p>理由を選択してください(複数選択可)</p> 6 <select multiple name="reason" class="reason-Attribute"> 7 <option value="1">ボリューム感に満足</option> 8 <option value="2">味が好き</option> 9 <option value="3">コスパがよい</option> 10 <option value="4">近場にあるから</option> 11 </select> 12</div> 13<!-- ボタンを押すと<div class="add">--</div>が一つ増える。 --> 14<button id="addButton">追加</button> 15<input type="submit" value="送信"> 16</form> 17 18---------------------------------------------------- 19 20このフォームでは追加ボタンを押すことで以下のように入力項目数が増やせます。 21 22<form method="post" action="/registration"> 23<div class="add"> 24<p>よく行く飲食店を教えてください</p> 25<input type="text" name="favoriteThings" class="favorite-things"> 26<p>理由を選択してください(複数選択可)</p> 27 <select multiple name="reason" class="reason-Attribute"> 28 <option value="1">ボリューム感に満足</option> 29 <option value="2">味が好き</option> 30 <option value="3">コスパがよい</option> 31 <option value="4">近場にあるから</option> 32 </select> 33</div> 34 35<div class="add"> 36<p>よく行く飲食店を教えてください</p> 37<input type="text" name="favoriteThings" class="favorite-things"> 38<p>理由を選択してください(複数選択可)</p> 39 <select multiple name="reason" class="reason-Attribute"> 40 <option value="1">ボリューム感に満足</option> 41 <option value="2">味が好き</option> 42 <option value="3">コスパがよい</option> 43 <option value="4">近場にあるから</option> 44 </select> 45</div> 46 47<div class="add"> 48<p>よく行く飲食店を教えてください</p> 49<input type="text" name="favoriteThings" class="favorite-things"> 50<p>理由を選択してください(複数選択可)</p> 51 <select multiple name="reason" class="reason-Attribute"> 52 <option value="1">ボリューム感に満足</option> 53 <option value="2">味が好き</option> 54 <option value="3">コスパがよい</option> 55 <option value="4">近場にあるから</option> 56 </select> 57</div> 58 59<!-- ボタンを押すと<div class="add">--</div>が一つ増える。 --> 60<button id="addButton">追加</button> 61<input type="submit" value="送信"> 62</form>
試したこと
javascriptとjqueryプラグインを使用しています。
以下のコードを試してみましたが、出力結果ではただの配列として表示されてしまいます。
javascript
1var array = []; 2var arrayList []; 3var i = 0; 4$(".reason-Attribute").each(function(){ 5 array = $(this).val(); 6 arrayList[i] = array; 7 i++; 8});
回答1件
あなたの回答
tips
プレビュー