今回は JavaScript を使って「複数のチェックボックスから選択された値を取得する方法」を紹介します。
デモ動画
このサンプルでは
- 3つのチェックボックスを用意
- 「値を取得」ボタンを押す
- 選択されたチェックボックスの value を取得
- 取得した値をアラートで表示
という流れで行います。
頻繁に使うものではないので、つい忘れがちになってしまいますが、知っておくと便利なコードです。ラジオボタンにも使うことができますので、ぜひお試しください
動画
準備中
解説
HTML の用意
まずは HTML ファイルを作成して、以下のようにコードを書きます。
class 名について
それぞれのチェックボックスには同じクラス名 checks をつけています。
チェックボックスの値を取得するときに「class 名が checks の要素」と指定するので、同じクラス名を付けてください。
12行目 onclick
このボタンを押したときに getValue 関数を呼ぶために、onclick="getValue()" と書いています。
getValue 関数はこのあと書いていきます。
CSS を書く
チェックボックスが画面左上にあって使いにくいので、CSS で少しだけ調整します。(この手順は省略可能です。)
6~15行目を追加します。
このような画面になっていれば、準備完了です。

チェックボックスの値を取得する
14~26行目を追加します。
JavaScript コードでは
- クラス名が checks の要素を取得
- for ループでチェックボックスが選択されているか一つずつ調べる
- アラートで値を表示
という処理を行っています。
19行目 for ( i = 0; i < 3; i++) {
今回は「3つのチェックボックス」と最初に決めていたので3を書いていますが、たくさんチェックボックスがある場合などは checks.length と書くこともできます。
for ( i = 0; i < checks.length; i++) {
20行目 if ( checks[i].checked === true )
checks[i].checked が true の場合は、チェックボックスが選択されている状態なので、str に文字列を結合していきます。
24行目 alert(str)
最後にアラートを表示して完成です。
完成
上手く動かない場合は、ウェブブラウザの開発者ツールを開いてコンソールから確認してみてください。

それでも解決しない場合は、下にサンプルコードを貼っているので見比べてみてください
サンプルコード