こんにちは、Ryohei(@ityryohei)です!

本記事では、JavaScriptでチェックされているチェックボックスの数をカウントする方法をご紹介しています。

チェックボックスにチェックを入れた際にカウントするのではなく、チェックを入れた後にボタンをクリックするとチェック済みの数がアラートで表示される下記のような処理を作成していきます。

See the Pen
PoqgRZw
by ryohei (@intotheprogram)
on CodePen.

チェックされているチェックボックスの数をカウントしたいんだけど、良い方法ないかな?

上記の疑問にお答えしています。

では、解説していきます。

チェックボックスを作成する

まずはチェックボックスの作成から。チェックボックスは基本的にフォームで使用するパーツですのでformタグで囲っておきます。併せてチェックボックスの他にイベントを発生させるためにボタンも記述しておきましょう。

HTML

<form>
    <label>
        <input class="checks" type="checkbox" name="lang" value="javascript">JavaScript
    </label>
    <label>
        <input class="checks" type="checkbox" name="lang" value="jquery">jQuery
    </label>
    <label>
        <input class="checks" type="checkbox" name="lang" value="html">HTML
    </label>
    <button id="btn" type="button">Count</button>
</form>

以上でチェックボックスの作成は完了です。

チェック済みのチェックボックスの数をカウントする

前項で作成したHTMLにチェック済みのチェックボックスの数をカウントするスクリプトを追加します。

下記はサンプルコードになります。buttonをクリックするとチェック済みのチェックボックスの数をカウントする関数を実行する流れとなります。詳細はコメントをご確認ください。

JavaScript

//チェックボックスを取得する
const el = document.getElementsByClassName("checks");
//カウントボタンを取得する
const btn = document.getElementById("btn");

//チェック済みのチェックボックスの数を返す
const getCheckedCount = () => {

    let count = 0;

    for (let i = 0; i < el.length; i++) {
        if (el[i].checked) {
            count++;
        }
    }
    alert(count);
};

//ボタンをクリックした時に「getCheckedCount()」を呼び出す
btn.addEventListener("click", getCheckedCount, false);

以上でスクリプトの作成は完了です。

最後に

チェックボックスのチェック済みの数をカウントする処理は、入力必須の処理であったり前提として〇〇以上のチェックが必要、というような処理を組む際に有効な方法です。重要なのはforの処理の部分ですので、そこだけ覚えておいていつでも組めるようにしておくと良いかもしれません。

以上、JavaScriptでチェックされているチェックボックスの数をカウントする方法のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / ブロガー

福岡のWeb制作会社に務めるWebエンジニアです。エンジニア歴は10年程で、好きな言語はPHPとJavaScriptです。本サイトは私がインプットしたWebに関する知識を整理し、共有することを目的に2015年から運営しています。Webに関するご相談があれば気軽にお問い合わせください。

JavaScriptを基礎からしっかりと学びたい方へ

下記の参考書がおすすめです。私がJavaScript入門時に購入した書籍で、基礎から応用まで多様なサンプルを用いて解説されています。ページ数は多いですが、内容が伴っているのですらすら読めます。腰を据えて学びたい方に最良の一冊となっています。