実現したいこと
JSでラジオボタンを使用して、●を押下されたら①②を表示、★を押下されたら③④を表示としたいです。
<条件>
●を押下後、★を押下すると①②非表示にして、③④を表示。
★を押下後、●を押下すると③④非表示にして、①②を表示。
現状デフォルトで①ー④を表示するtest1とtest2はdisplay:none;で非表示としています。
●buttonClick()にてクリックされたらdisplay:none;を削除、display:block;を追加とすればいいのかなと検討していますが、そうすると●を押下した後、★を押下すると①ー④全てが表示されることとなってしまいます。。
上記<条件>のようにするにはどのように実装すればよろしいでしょうか。
知識が浅く大変申し訳ございませんが、分かるかたいらっしゃましたらお力添えを頂きたいです。
以上、よろしくお願い致します。
該当のソースコード
html
1<ul class="center"> 2 <li><input type="rabio" name="radio" value="1" onclick="buttonClick1()">●</li> 3 <li><input type="rabio" name="radio" value="1" onclick="buttonClick2()">★</li> 4</ul> 5<ul id="test1" style="display: none;"> 6 <li> 7 <button>①</button> 8 <button>②</button> 9 </li> 10</ul> 11 12<ul id="test2" style="display: none;"> 13 <li> 14 <button>③</button> 15 <button>④</button> 16 </li> 17</ul>
css
1.center{ 2 display: flex; 3 justify-content: center; 4 align-items: center; 5}
js
1function buttonClick1(){ 2 let test1 = document.getElementById("test1"); 3 4 if(test1.style.display="none"){ 5 test1.style.display="block"; 6 } 7} 8 9function buttonClick2(){ 10 let test2 = document.getElementById("test2"); 11 12 if(test2.style.display="none"){ 13 test2.style.display="block"; 14 } 15}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。