不明点
HTMLを基本として、選択の分岐を増やしたいです。
(非常に意味の分かりづらい表現ですみません。)
以前、HTMLにJSを埋め込んでJSに遷移させたいとして、様々なご指摘を頂きました。その結果、Ajaxなどを使用しなくてはならないかもしれないと分かり、別の方法では出来ないかと思っていたところ、自分は「選択を繰り返して最終的にたどり着く画面を指定したい」ということから、HTMLの<SELECT>を使って選択肢の分岐が出来ればいいのではないかということになりました。
いろいろ検索してみた結果、HTMLの<SELECT>を使って選択肢の分岐ができる様でしたので、組んでみたところ、複数段階の選択の仕方が分からなく、行き詰ってしまいました。
実現したい内容
質問1に対して
選択肢1 選択肢2 選択肢3 選択肢4 ・・・
質問1で選択肢1を選択した場合、
質問2に対して
選択肢あ 選択肢い 選択肢う ・・・・
質問1で選択肢2を選択した場合、
質問2に対して
選択肢ア 選択肢イ 選択肢ウ ・・・・
・
・
・
質問2で選択肢あを選択した場合、
質問3に対して
選択肢・・・・・・
・
・
・
発生している問題・エラーメッセージ
html
1 <select name="category" id="category"> 2 <option value="">選択してください</option> 3 <option value="10">1</option> 4 <option value="20">2</option> 5 <option value="30">3</option> 6 <option value="40">4</option> 7 <option value="50">5</option> 8 </select> 9 <p>*****</p> 10 <select name="second" id="second"> 11 <option value="">選択してください</option> 12 </select> 13 <p>*****</p> 14 <select name="third" id="third"> 15 <option value="">選択してください</option> 16 </select>
javascript
1window.onload = function() { 2 second = document.getElementById("second"); 3 category = document.getElementById("category"); 4 category.onchange = changeCategory; 5 } 6 function changeCategory() { 7 var changedCategory = category.value; 8 if (changedCategory == "10") { 9 set10(); 10 } else if (changedCategory == "20") { 11 set20(); 12 } else if (changedCategory == "30") { 13 set30(); 14 } else if (changedCategory == "code") { 15 setcode(); 16 } else if (changedCategory == "RSV") { 17 setRSV(); 18 } else { 19 } 20 } 21 22 function set10() { 23 second.textContent = null; 24 var Ver = [ 25 {cd:"", label:"選択してください"}, 26 {cd:"1000000202000001", label:"A"}, 27 {cd:"1", label:"B"}, 28 {cd:"2", label:"C"} 29 ]; 30 Ver.forEach(function(value) { 31 var op = document.createElement("option"); 32 op.value = value.cd; 33 op.text = value.label; 34 second.appendChild(op); 35 }); 36 } 37 function set20() { 38 second.textContent = null; 39 var Ver = [ 40 {cd:"", label:"選択してください"}, 41 {cd:"3", label:"D"}, 42 {cd:"4", label:"E"}, 43 {cd:"5", label:"F"} 44 ]; 45 Ver.forEach(function(value) { 46 var op = document.createElement("option"); 47 op.value = value.cd; 48 op.text = value.label; 49 second.appendChild(op); 50 }); 51 }
試したこと
{cd:"", label:"選択してください"},
このcdは何かも教えていただければ幸いです。
###追記(2020.12.14 20:30)
最終的に選択肢を選択すると選択肢別に指定されたページへ移動するようにしたいとも思っています。書き忘れてしまいました。すみません。
HTMLで表記した時にこんな感じになるもので。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/15 12:42
2020/12/15 18:49 編集
2020/12/26 00:22