前提・実現したいこと
htmlとjavascriptを用いて、
チェックボックスのオンオフによって表の任意の行を表示/非表示させたいです。
jsの方で、trのIDを用いて該当の行を取得し動作させたいです。
該当のソースコード
html
1修正前 2<form name="form1"> 3 <input checked type="checkbox" id="check1" onClick="displayTR_checkbox(this,'tr1');"><label for="check1">tr1</label><br> 4 <input checked type="checkbox" id="check2" onClick="displayTR_checkbox(this,'tr2');"><label for="check2">tr2</label> 5 6 <table class="picTable"> 7 <tr id="tr1"> 8 <td><img src="http://placehold.jp/150x150.png"></td> 9 <td><img src="http://placehold.jp/150x150.png"></td> 10 <td><img src="http://placehold.jp/150x150.png"></td> 11 </tr> 12 <tr id="tr2"> 13 <td><img src="http://placehold.jp/150x150.png"></td> 14 <td><img src="http://placehold.jp/150x150.png"></td> 15 <td><img src="http://placehold.jp/150x150.png"></td> 16 </tr> 17 </table> 18 </form> 19 20修正後 21<form name="form1"> 22 <input checked type="checkbox" id="check1" onClick="displayTR_checkbox('check1','tr1');"><label for="check1">tr1</label><br> 23 <input checked type="checkbox" id="check2" onClick="displayTR_checkbox('check2','tr2');"><label for="check2">tr2</label> 24 25 <table class="picTable"> 26 <tr id="tr1"> 27 <td><img src="http://placehold.jp/150x150.png"></td> 28 <td><img src="http://placehold.jp/150x150.png"></td> 29 <td><img src="http://placehold.jp/150x150.png"></td> 30 </tr> 31 <tr id="tr2"> 32 <td><img src="http://placehold.jp/150x150.png"></td> 33 <td><img src="http://placehold.jp/150x150.png"></td> 34 <td><img src="http://placehold.jp/150x150.png"></td> 35 </tr> 36 </table> 37 </form>
javascript
1修正前 2function displayTR_checkbox(this,trID){ 3 var TR = document.getElementById(trID); 4 if(checkbox.checked = false){ 5 TR.style.display = none; 6 } else { 7 TR.style.display = block; 8 } 9} 10修正後 11function displayTR_checkbox(checkboxID,trID){ 12 var TR = document.getElementById(trID); 13 var Checkbox = document.getElementById(checkboxID); 14 if(! Checkbox.checked){ 15 TR.style.display = ''; 16 } else { 17 TR.style.display = 'none'; 18 } 19}
試したこと
cssの方が複雑になってきたため、今回行の表示/非表示はjsで行いたいです。
知識不足で大変申し訳ございませんが、助言いただけましたら幸いです。
回答2件
あなたの回答
tips
プレビュー