チェックした項目だけ表示するチェックボックスを作る方法【HTML/CSS/JavaScript・サンプルコード付き】

チェックボックス

チェックした項目だけ表示するチェックボックスを作る方法

チェックした項目だけを別の一覧へ表示するチェックボックスの作り方を紹介します。項目を選択すると、その内容が選択結果エリアへ追加され、チェックを外すと一覧から自動で削除されます。現在どの項目を選んでいるのかを、その場で確認できるサンプルです。

アンケートフォーム、会員登録画面、商品条件の選択、管理画面の設定項目、興味のあるカテゴリー選択など、複数の選択内容を分かりやすく確認してもらいたい場面で利用できます。チェックボックスだけでは選択状態を見落としやすい場合でも、選択結果をまとめて表示することで操作内容を確認しやすくなります。

HTMLでチェックボックスと選択結果エリアを配置し、CSSで見た目を整え、JavaScriptで選択中の項目だけを一覧へ反映します。項目名や選択肢の追加・削除はHTMLから変更でき、背景色、余白、文字サイズ、枠線、角丸などはCSSから調整できます。外部ライブラリを使用せず、スマートフォン・タブレット・PCで利用できる構成です。

コードについて 本記事のコードはサンプルコードです。ご利用前に必ず動作確認を行ってください。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。

デモ

チェックした項目だけ表示

項目を選択すると、選択結果へ自動で追加されます。

選択した項目

まだ選択されていません。

チェックした項目だけが選択結果へ表示され、チェックを外すと一覧から削除されます。

コードをコピーして使おう!

<!DOCTYPE html>
<html lang="ja">
<head>

  <!-- 文字コードをUTF-8へ設定 -->
  <meta charset="UTF-8">

  <!-- スマートフォンやタブレットの画面幅へ対応 -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- ブラウザのタブへ表示するページタイトル -->
  <title>チェックした項目だけ表示するチェックボックス</title>

  <!-- チェックボックスのデザインを設定するCSSファイルを読み込み -->
  <link rel="stylesheet" href="style.css">

</head>
<body>

  <!-- チェックした項目だけ表示するチェックボックス全体 -->
  <div class="checkbox-selected-items_wrap">

    <!-- チェックボックスエリアのタイトル -->
    <div class="checkbox-selected-items_title">
      チェックした項目だけ表示
    </div>

    <!-- 操作方法を案内する説明文 -->
    <p class="checkbox-selected-items_text">
      項目を選択すると、選択結果へ自動で追加されます。
    </p>

    <!-- 選択した項目を表示する結果エリア -->
    <div class="checkbox-selected-items_result">

      <!-- 結果エリアの見出し -->
      <div class="checkbox-selected-items_result-title">
        選択した項目
      </div>

      <!-- 未選択時に表示する案内文 -->
      <p
        class="checkbox-selected-items_empty"
        id="checkbox-selected-items-empty">
        まだ選択されていません。
      </p>

      <!-- 選択した項目を追加する一覧 -->
      <ul
        class="checkbox-selected-items_output"
        id="checkbox-selected-items-output">
      </ul>

    </div>

    <!-- チェックボックス一覧 -->
    <div class="checkbox-selected-items_list">

      <!-- HTMLのチェックボックス項目 -->
      <label class="checkbox-selected-items_label">

        <!-- HTMLの選択状態を管理するチェックボックス -->
        <input
          class="checkbox-selected-items_input"
          type="checkbox"
          name="interest[]"
          value="HTML">

        <!-- HTMLの項目名 -->
        <span class="checkbox-selected-items_name">
          HTML
        </span>

      </label>

      <!-- CSSのチェックボックス項目 -->
      <label class="checkbox-selected-items_label">

        <!-- CSSの選択状態を管理するチェックボックス -->
        <input
          class="checkbox-selected-items_input"
          type="checkbox"
          name="interest[]"
          value="CSS">

        <!-- CSSの項目名 -->
        <span class="checkbox-selected-items_name">
          CSS
        </span>

      </label>

      <!-- JavaScriptのチェックボックス項目 -->
      <label class="checkbox-selected-items_label">

        <!-- JavaScriptの選択状態を管理するチェックボックス -->
        <input
          class="checkbox-selected-items_input"
          type="checkbox"
          name="interest[]"
          value="JavaScript">

        <!-- JavaScriptの項目名 -->
        <span class="checkbox-selected-items_name">
          JavaScript
        </span>

      </label>

      <!-- PHPのチェックボックス項目 -->
      <label class="checkbox-selected-items_label">

        <!-- PHPの選択状態を管理するチェックボックス -->
        <input
          class="checkbox-selected-items_input"
          type="checkbox"
          name="interest[]"
          value="PHP">

        <!-- PHPの項目名 -->
        <span class="checkbox-selected-items_name">
          PHP
        </span>

      </label>

      <!-- Pythonのチェックボックス項目 -->
      <label class="checkbox-selected-items_label">

        <!-- Pythonの選択状態を管理するチェックボックス -->
        <input
          class="checkbox-selected-items_input"
          type="checkbox"
          name="interest[]"
          value="Python">

        <!-- Pythonの項目名 -->
        <span class="checkbox-selected-items_name">
          Python
        </span>

      </label>

    </div>

  </div>

  <!-- 選択項目を一覧へ反映するJavaScriptファイルを読み込み -->
  <script src="script.js"></script>

</body>
</html>
コードをコピーする場合 使用するコードのタブを選び、「このタブをコピー」をクリックすると、現在表示中のコードをコピーできます。
サンプル一式を取得する場合 HTML・CSSなどすべてのファイルが必要な場合は、「サンプル一式をダウンロード」をクリックしてください。

ファイル構成と設置方法

このサンプルは、HTML・CSS・JavaScriptの3ファイルで構成されています。HTMLでチェックボックスと選択結果の表示エリアを作り、CSSで全体の見た目を整え、JavaScriptでチェックされた項目だけを結果一覧へ追加します。

チェックを入れると項目名が「選択した項目」へ表示され、チェックを外すと一覧から削除されます。何も選択されていない場合は「まだ選択されていません。」という案内文が表示されます。

sample/
├── index.html
├── style.css
└── script.js

各ファイルの役割
index.html
チェックボックス、項目名、選択結果を表示する一覧、未選択時の案内文を配置します。項目を追加・削除したい場合や、表示する名前を変更したい場合は、このファイルを編集します。

style.css
全体の横幅、背景色、文字色、余白、枠線、角丸、チェックボックスのサイズ、選択結果エリアのデザインを設定します。

script.js
チェックボックスの状態を確認し、選択された項目だけを結果一覧へ表示します。チェックを外した項目は一覧から削除し、選択項目が0件の場合は案内文を表示します。

設置方法・使い方
sampleフォルダ内へ index.html、style.css、script.js を配置します。3ファイルは同じ階層へ保存してください。保存後に sample/index.html をブラウザで開くと動作を確認できます。

表示したい項目へチェックを入れると、チェックボックスの value に設定した文字が選択結果へ追加されます。チェックを外すと、その項目は結果一覧から自動で削除されます。

カスタマイズできる内容
index.htmlでは、チェックボックスの項目名、value、項目数、表示順を変更できます。表示される結果は各チェックボックスの value を使用するため、画面に表示する内容と結果一覧の文字を変えたい場合は value を編集します。

style.cssでは、全体や結果エリアの背景色、文字色、枠線、余白、角丸、文字サイズ、チェックボックスの大きさを変更できます。

script.jsでは、選択項目を表示する要素や、未選択時の案内文を切り替える処理を変更できます。

数値調整
style.css
max-width:760px; は全体の最大横幅です。760pxから900pxへ変更すると、表示領域が横へ広がります。

padding:32px; は全体の内側余白です。32pxから20pxへ変更すると、内容と外枠の間隔が狭くなります。

gap:12px; はチェックボックス同士の間隔です。12pxから20pxへ変更すると、各項目の間隔が広がります。

min-height:56px; は各チェックボックス項目の最小高さです。56pxから64pxへ変更すると、項目が高くなります。

width:22px; と height:22px; はチェックボックス本体の大きさです。22pxから28pxへ変更すると、チェックボックスが大きく表示されます。

font-size:22px; はタイトルの文字サイズです。22pxから28pxへ変更すると、タイトルが大きく表示されます。

border-radius:18px; は全体の角丸です。18pxから8pxへ変更すると角の丸みが弱くなり、24pxへ変更すると丸みが強くなります。

レスポンシブ対応
style.cssの width:100%、max-width:760px、box-sizing:border-box、および画面幅640px以下のメディアクエリでレスポンシブ対応しています。

スマートフォンでは全体の margin と padding が小さくなり、各チェックボックスの内側余白も調整されます。スマートフォン・タブレット・PCで画面幅に合わせて表示できます。


こちらもおすすめ


コメント