
JavaScript チェックボックス 外す: チェック状態を操作する方法まとめ
このページでは、JavaScriptを使ってチェックボックスのチェックを外す方法について、具体的なコード例を交えながら解説します。初心者の方でも理解しやすいように、基本的な操作から応用的な使い方まで網羅しています。
チェックボックスの操作: 基礎から応用まで
1. チェックボックスの状態を取得する
チェックボックスがチェックされているかどうかは、checked プロパティを使って判定することができます。 checked プロパティは、チェックされている場合は true、チェックされていない場合は false を返します。
<input type="checkbox" id="myCheckbox">
<script>
const checkbox = document.getElementById('myCheckbox');
if (checkbox.checked) {
  console.log("チェックされています");
} else {
  console.log("チェックされていません");
}
</script>
2. チェックボックスを外す
チェックボックスを外すには、checked プロパティに false を代入します。
<input type="checkbox" id="myCheckbox" checked>
<button onclick="uncheck()">チェックを外す</button>
<script>
function uncheck() {
  const checkbox = document.getElementById('myCheckbox');
  checkbox.checked = false;
}
</script>
3. 複数のチェックボックスをまとめて操作する
querySelectorAll メソッドと forEach メソッドを使うことで、複数のチェックボックスをまとめて操作することができます。
<input type="checkbox" class="myCheckboxes">
<input type="checkbox" class="myCheckboxes" checked>
<input type="checkbox" class="myCheckboxes">
<button onclick="uncheckAll()">すべてチェックを外す</button>
<script>
function uncheckAll() {
  const checkboxes = document.querySelectorAll('.myCheckboxes');
  checkboxes.forEach(checkbox => {
    checkbox.checked = false;
  });
}
</script>
応用例: 実践的なシナリオとコード例
4. ボタンクリックでチェックボックスを外す
ボタンがクリックされたときに特定のチェックボックスのチェックを外すには、ボタンにイベントリスナーを設定し、その中でチェックボックスの checked プロパティを false に設定します。
<input type="checkbox" id="targetCheckbox" checked>
<button id="uncheckButton">チェックを外す</button>
<script>
const checkbox = document.getElementById('targetCheckbox');
const button = document.getElementById('uncheckButton');
button.addEventListener('click', () => {
  checkbox.checked = false;
});
</script>
5. フォーム送信時にすべてのチェックボックスを外す
フォームの送信前にすべてのチェックボックスのチェックを外すには、フォームの submit イベントにイベントリスナーを設定し、その中で各チェックボックスの checked プロパティを false に設定します。
<form id="myForm">
  <input type="checkbox" name="option1" checked> オプション1
  <input type="checkbox" name="option2"> オプション2
  <button type="submit">送信</button>
</form>
<script>
const form = document.getElementById('myForm');
form.addEventListener('submit', (event) => {
  event.preventDefault(); // フォームのデフォルトの送信動作をキャンセル
  const checkboxes = form.querySelectorAll('input[type="checkbox"]');
  checkboxes.forEach(checkbox => {
    checkbox.checked = false;
  });
  // ここにチェックボックスのチェックを外した後の処理を追加
});
</script>
まとめ
本記事では、JavaScriptを使ってチェックボックスのチェックを外す方法について解説しました。基本的な操作から応用的な使い方まで理解することで、より柔軟なWebページの開発が可能になります。
参考資料
- <a href="https://developer.mozilla.org/ja/docs/Web/HTML/Element/input">HTML input要素 - MDN Web Docs</a>
- <a href="https://developer.mozilla.org/ja/docs/Web/API/HTMLInputElement">HTMLInputElement - MDN Web Docs</a>
- <a href="https://developer.mozilla.org/ja/docs/Web/API/Document/querySelectorAll">Document.querySelectorAll() - MDN Web Docs</a>
よくある質問
| 質問 | 回答 | 
|---|---|
| 特定の条件を満たすチェックボックスだけを外すにはどうすればよいですか? | querySelectorAllで取得した NodeList をforEachでループ処理し、各チェックボックスに対して条件判定を行い、条件を満たす場合のみcheckedプロパティをfalseに設定してください。 | 
| チェックボックスのチェック状態が変更されたことを検知するにはどうすればよいですか? | チェックボックスの changeイベントにイベントリスナーを設定することで、チェック状態が変更されたことを検知することができます。 | 
| JavaScript でチェックボックスを操作する際に、どのようなことに注意すればよいですか? | 要素が DOM に追加される前に JavaScript からアクセスしようとするとエラーが発生するため、スクリプトの読み込み位置やイベントリスナーの利用に注意してください。 | 
その他の参考記事:jquery checkbox 外す