2つ以上のセレクトボックスで選択が完了したとき別のTEXTのstyleを変更したいです。
実装できていること
セレクトボックスAが選択されたとき「セレクトボックスA選択されました」の文字色を変える
同じくセレクトボックスBが選択されたとき「セレクトボックスB選択されました」の文字色を変える
出来ないこと
セレクトボックスA・セレクトボックスBがともに選択されたとき「準備OK」の文字色を変えるという動きがうまくいきません。
ここに言語を入力HTML コード<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>JavaScript Basics</title> <style> .nomal{ color: blue; } .click{ color: red; } .yes{ color:green; border: 4px ridge red; width: 100px; height: 100px; } </style> </head> <body> <select onchange="changeItem()" name="" id="abc" > <option value="選択してください">選択してください</option> <option value="">北海道地区</option> <option value="">東北地区</option> <option value="">その他</option> </select> <h1 id='col' class="nomal">セレクトボックスB選択されました</h1> <select onchange="changeItem2()" name="" id="def" > <option value="選択してください">選択してください</option> <option value="">一軒家</option> <option value="">賃貸</option> <option value="">その他</option> </select> <h1 id='col2' class="nomal">セレクトボックスB選択されました</h1> <h1 id='ok' class="nomal">ok </h1> <script src="js/main.js"></script> </body> </html>
コードconst text = document.querySelector('#col'); const select = document.querySelector(`#abc`); const text2 = document.querySelector('#col2'); const select2 = document.querySelector(`#def`); const ok = document.querySelector('#ok'); function changeItem(obj){ if (select.selectedIndex === 0){ text.className = 'nomal'; }else{ text.className = `click`; } } function changeItem2(obj){ if (select2.selectedIndex === 0){ text2.className = 'nomal'; }else{ text2.className = `click`; } } function good(){ if(changeItem.selectedIndex !== 0 && select2.selectedIndex !== 0){ ok.className = 'yes'; }else{ ok.className = 'nomal'; } }
よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/04 04:23