JavaScript: チェックボックスの値を取得・設定する

JavaScriptでチェックボックスの値を取得・設定する方法を説明します。

チェックありの場合、checkedプロパティの値は「true」、
チェックなしの場合、checkedプロパティの値は「false]になります。

getElementById()でピンポイントで取得する場合と、 getElementsByName()で複数の値を取得する方法を説明します。

チェックボックスの値をgetElementById()で取得

getElementById()メソッドでチェックボックスの値を取得する場合の HTMLコードとJavaScriptコードは次の通りです。

checkedプロパティでチェックボックスの状態を取得できます。 戻り値は「true / falsse」なので、 if文の条件式にそのまま使うこともできます。

■ HMTL


<div>
	<label><input type="checkbox" id="check" name="check" checked/>
		チェックボックス
	</label>
</div>

■ JavaScript


var check = document.getElementById("check");

if (check.checked){
	// チェックあり の場合
} else {
	// チェックなし の場合
}

チェックボックスの値を設定

設定する場合はcheckedプロパティに「true / false」を代入します。 以下は「チェックなし」に設定するJavaScriptコードです。


var check = document.getElementById("check");

check.checked = false;

複数のチェックボックスの値をまとめて取得

先程は「id」属性を使ってgetElementById()で取得しました。 複数のチェックボックスがある場合は、 「name」属性を使ってgetElementsByName()メソッドで取得することもできます。

要素を配列として取得できますから、 配列の数だけループさせることでチェック状態を取得できます。

■ HMTL


<div>
	<label><input type="checkbox" name="check" />
		チェック1
	</label>
	<label><input type="checkbox" name="check" checked />
		チェック2
	</label>
	<label><input type="checkbox" name="check" />
		チェック3
	</label>
</div>

■ JavaScript


var elems = document.getElementsByName("check");

for (var i = 0; i < elems.length; i++) {
  console.log(elems[i].checked);
} // end for i

実行結果

false
true
false

チェックボックスの値を設定

チェックボックスに値を設定する場合のJavaScriptコードは次の通りです。 次のコードは、すべてのチェックボックスが「チェックあり」になります。


var elems = document.getElementsByName("check");

for (var i = 0; i < elems.length; i++) {
  elems[i].checked = true;
} 

JavaScript入門