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で質問しましょう!
似たような質問が見つかりました
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript 2段階プルダウンで1段階目の選択を終えた後に選択ボックスを見えなくしたい 2 2022/07/05 21:58
- JavaScript 中百舌鳥駅と深井駅を入れ替えて選択しても同じ挙動にしたいです。 2 2022/06/24 18:45
- JavaScript 電車の運賃を出すプログラムを作っています。 2 2022/06/22 09:36
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaScriptで<select>の<option...
-
javascriptでセレクトボックス...
-
addclassがうまく働きません
-
<input>の選択肢をプルダウンメ...
-
VBScriptでHTMLのセレクトボッ...
-
JavascriptからSQLへ繋ぎ方が分...
-
selectを変更不可にしたい
-
【javascript】連想配列からセ...
-
プルダウン選択を変更すると、...
-
selectが変更されたらnameを指...
-
連想配列からセレクトボックス...
-
javascriptでの時間計算
-
今日の日付を自動的にセレクト...
-
同じ名前のセレクトがある場合...
-
プルダウンで選択した項目にあ...
-
プルダウンの値によって活性・...
-
selectの初期値を設定したい
-
まったく同じ<select>フォーム...
-
select option value が IE だ...
-
selectボックスで選択数を制限...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascriptでセレクトボックス...
-
selectを変更不可にしたい
-
全てのselect要素をデフォルト...
-
<input>の選択肢をプルダウンメ...
-
Selectボックスの一覧表示方法
-
プルダウン選択を変更すると、...
-
セレクトボックスで配列を呼び...
-
JavaScriptで<select>の<option...
-
プルダウンのoptionの表示・非...
-
select要素のvalueを配列で取得...
-
【javascript】連想配列からセ...
-
ラジオボタンとプルダウンを連...
-
同じ名前のセレクトがある場合...
-
selectボックスの選択結果を変...
-
プルダウンの値によって活性・...
-
javascriptで合計金額を算出し...
-
プルダウンメニューに連動する...
-
リストボックス内の重複したも...
-
VBScriptでHTMLのセレクトボッ...
-
連想配列を使ってコンボボック...
おすすめ情報