実装したいこと
現状、タイトルにあるselectで選択肢によってボタンを活性・非活性に切り替えは実現できています。
select内のoptionにそれぞれvalueで値を1〜5まで割り当てており、
jsを使って現在はvalue="2"であれば非活性、それ以外は活性としております。
上記は条件通り実装できているのですが、値が2と4だった場合に
value="2"の箇所をvalue="2" || "4"と変更したら実現できるだろうと試してみましたが、全て非活性となってしまいます。
2と4の場合、非活性
それ以外の場合、活性
上記のように実装するには何が原因なのでしょうか・・
console.logを利用して2と4を取得できているのは確認できています。
あと一歩のところで行き詰まってしまっております。。
分かる方いらっしゃいましたらお力添えを頂きたいです。
よろしくお願い致します。
該当のソースコード
html
1<body class="center"> 2 <div class="center" style="width: 500px;"> 3 <select name="test" id="test" onchange="check();" style="width: 50%;"> 4 <option value="" hidden selected disabled>-</option> 5 <option value="1">テスト①</option> 6 <option value="2">テスト②</option> 7 <option value="3">テスト③</option> 8 <option value="4">テスト④</option> 9 <option value="5">テスト⑤</option> 10 </select> 11 <ul class="center" style="width: 100%;"> 12 <li> 13 <a id="next" class="btn disable" href="#">next</a> 14 </li> 15 <li style="margin-top: 20px;"> 16 <a class=" btn" href="#">back</a> 17 </li> 18 </ul> 19 </div> 20</body>
css
1.btn{ 2 list-style: none; 3 padding: 5px 15px; 4 border-radius: 5px; 5 display: inline; 6 vertical-align: middle; 7 text-align: center; 8 border: 1px solid #eee; 9 color: #069; 10 background-color: #fff; 11} 12 13li{ 14 list-style: none; 15} 16 17a{ 18 text-decoration: none; 19} 20 21.center{ 22 display: flex; 23 justify-content: center; 24 align-items: center; 25 flex-direction: column; 26} 27 28.disable{ 29 cursor: default; 30 background-color: #fff; 31 color: #eee; 32 border: 1px solid #eee; 33}
js
1function check() { 2 let checkon = true; 3 4 let c_test = document.getElementById("test").value; 5 let next = document.getElementById("next"); 6 7 console.log(c_test); 8 if (c_test === "2") { 9 checkon = false; 10 } else { 11 checkon = true; 12 } 13 14 if (checkon == true) { 15 next.className = "btn"; 16 } else if (checkon == false) { 17 next.className = "btn disable"; 18 } 19} 20
回答1件
あなたの回答
tips
プレビュー