
https://techacademy.jp/magazine/27133
こちらを参考に連動するセレクトボックスを作成したいとおもっております。
参考にした下記ソースコードで連動したセレクトボックスは作れるのですが、
2つ目のセレクトボックス(料理名)の方にvalue値を設定するやり方が分かりません。
一番下の【使いたい連想配列】みたいにvalue値を配列から取得するやり方を教えてください。
【HTML】
<select name="genre" id="genre" onchange="createMenu(this.value)">
<option disabled selected>ジャンルを選択してください</option>
<option value="japaneseFoods">和食</option>
<option value="chineseFoods">中華</option>
<option value="italianFoods">イタリアン</option>
</select>
<select name="menuList" id="menuList" disabled>
<option disabled selected>料理を選択してください</option>
</select>
【javascript】
const foodMenu =
{
"japaneseFoods": ["寿司", "天ぷら", "おでん"],
"chineseFoods": ["八宝菜", "麻婆豆腐", "エビチリ"],
"italianFoods": ["パスタ", "ピザ", "ミネストローネ"]
};
function createMenu(selectGenre){
let menuList = document.getElementById('menuList');
menuList.disabled = false;
menuList.innerHTML = '';
let option = document.createElement('option');
option.innerHTML = '料理を選択してください';
option.defaultSelected = true;
option.disabled = true;
menuList.appendChild(option);
foodMenu[selectGenre].forEach( menu => {
let option = document.createElement('option');
option.innerHTML = menu;
menuList.appendChild(option);
});
}
【使いたい連想配列】
const foodMenu = {
"japaneseFoods":[
{ text: '寿司', value: 'sushi' },
{ text: '天ぷら', value: 'tenpura' },
{ text: 'おでん', value: 'oden' },
],
"chineseFoods":[
{ text: '八宝菜', value: 'happousai' },
{ text: '麻婆豆腐', value: 'maabodoufu' },
{ text: 'エビチリ', value: 'ebichiri' }
]
};
よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
foodMenu[selectGenre].forEach(menu=>{
let option=document.createElement('option');
option.textContent = menu.text;
option.value = menu.value;
menuList.appendChild(option);
});
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プルダウン選択を変更すると、...
-
<input>の選択肢をプルダウンメ...
-
ラジオボタンとプルダウンを連...
-
2段階プルダウンで1段階目の選...
-
Selectボックスの一覧表示方法
-
VBScriptでHTMLのセレクトボッ...
-
プルダウンのoptionの表示・非...
-
【JavaScript】プルダウンで数...
-
javascriptでセレクトボックス...
-
連想配列からセレクトボックス...
-
return falseが効かない
-
selectの初期値を設定したい
-
selectを変更不可にしたい
-
3つのselectでURLパラメータを...
-
【JS】selectでchangeした時の...
-
同じ名前のセレクトがある場合...
-
全てのselect要素をデフォルト...
-
selectが変更されたらnameを指...
-
セレクトボックスで配列を呼び...
-
jqueryでセレクトメニュー+スク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascriptでoptionタグを削除...
-
<input>の選択肢をプルダウンメ...
-
プルダウン選択を変更すると、...
-
selectを変更不可にしたい
-
javascriptでセレクトボックス...
-
スマホのフォームでのselect複...
-
プルダウンメニューの件でお願...
-
【JS】selectでchangeした時の...
-
Selectボックスの一覧表示方法
-
AxWebBrowserで開いたWebページ...
-
selectを使った計算
-
selectボックスで選択数を制限...
-
プルダウンメニューのvalue値を...
-
セレクトボックスで選択した内...
-
セレクトメニューの値の取得
-
ラジオボタンとプルダウンを連...
-
プルダウンの選択内容を次のペ...
-
C#(csファイル)とjavascriptと...
-
複数のプルダウンを1つにまとめ...
-
同じ名前のセレクトがある場合...
おすすめ情報