質問:「好きなもの」(第2セレクトボックス)の選択肢の数がフルーツとケーキで違う場合、どのような方法で実現すればよいのでしょうか。教えてください。
セレクトボックスの作成について、以下のコードで「デザート」セレクトの選択によって、「好きなもの」のセレクトボックスの選択肢が変化する、というのを実現しました。
しかし、これは第2セレクトボックスの選択肢が同数の場合です。
HTML
1<form name="selbox"> 2 <p>デザート</p> 3 <select name="dessert" onChange="set()"> //第1セレクトボックス 4 <option value="">選択してください</option> 5 <option value="">フルーツ</option> 6 <option value="">ケーキ</option> 7 </select> 8 9 <p>好きなもの</p> 10 <select name="favorite" require> //第2セレクトボックス 11 <option value="">選択してください</option> 12 <option value=""></option> 13 <option value=""></option> 14 <option value=""></option> 15 </select> 16 </form>
javascript
1var favorite_fruit =['','オレンジ','りんご','メロン']; 2var favorite_cake =['','ショートケーキ','チョコレートケーキ','チーズケーキ']; 3 4function set() { 5 6 for(i=1; i<4; i++) { 7 8 switch(document.selbox.dessert.selectedIndex) { 9 case 0: 10 document.selbox.favorite.options[i].text=''; 11 break; 12 case 1: 13 document.selbox.favorite.options[i].text=favorite_fruit [i]; 14 break; 15 case 2: 16 document.selbox.favorite.options[i].text=favorite_cake [i]; 17 break; 18 } 19 } 20 document.selbox.favorite.selectedIndex()=0; 21}
もし、例えばケーキを選択した場合の第2セレクトボックスの選択肢が以下だった場合
JavaScript
1var favorite_cake =['','ショートケーキ','チョコレートケーキ','チーズケーキ','ティラミス'];
どのようにすれば、第2セレクトボックスに選択肢を4つ入れられるのでしょうか。
for文の「i < 4」にif分を入れて場合分けしたりしましたが、うまくいきませんでした。
ご回答願います。
回答2件
あなたの回答
tips
プレビュー