前提・実現したいこと
ここに質問の内容を詳しく書いてください。
HTMLでチェックボックスと、全て選択というチェックボックスを実装したい
JQueryはわからないため、JavaScriptを使用
発生している問題・エラーメッセージ
チェックボックスが全て選択とTEST1だけの場合、 どちらにもチェックされていない状態で、全て選択をチェックしてもTEST1にチェックが入らず、 どちらもチェックしている状態でTEST1のチェックボックスを外しても全て選択からチェックが外れない 複数ある場合は問題なくチェックが入る
該当のソースコード
html
1<form name="form"> 2 <label> 3 <input type="checkbox" name="all" onClick="AllChecked();" />全て選択 4 </label> 5 <p> 6 <label> 7 <input type="checkbox" name="test" value="TEST1" onClick="DisChecked();" />TEST1 8 </label> 9 10<!-- 11 <label> 12 <input type="checkbox" name="test" value="TEST2" onClick="DisChecked();" />TEST2 13 </label> 14 <label> 15 <input type="checkbox" name="test" value="TEST3" onClick="DisChecked();" />TEST3 16 </label> 17 <label> 18 <input type="checkbox" name="test" value="TEST4" onClick="DisChecked();" />TEST4 19 </label> 20--> 21 22 </p> 23</form> 24 25<script language="JavaScript" type="text/javascript"> 26<!-- 27 // 「全て選択」チェックで全てにチェック付く 28 function AllChecked(){ 29 var all = document.form.all.checked; 30 for (var i=0; i<document.form.test.length; i++){ 31 document.form.test[i].checked = all; 32 } 33 } 34 35 // 一つでもチェックを外すと「全て選択」のチェック外れる 36 function DisChecked(){ 37 var checks = document.form.test; 38 var checksCount = 0; 39 for (var i=0; i<checks.length; i++){ 40 if(checks[i].checked == false){ 41 document.form.all.checked = false; 42 }else{ 43 checksCount += 1; 44 if(checksCount == checks.length){ 45 document.form.all.checked = true; 46 } 47 } 48 } 49 } 50// --> 51</script>
試したこと
下記Webページ参照
http://labyrinth-of-wisdom.hatenadiary.com/entry/2016/07/20/202324
補足情報(FW/ツールのバージョンなど)
HTML5
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/19 15:24 編集
2020/06/19 15:31