チェック状態を保存するチェックボックスを作る方法【HTML/CSS/JavaScript・サンプルコード付き】

チェックボックス

チェック状態を保存するチェックボックスを作る方法

チェック状態を保存するチェックボックスを作る方法を紹介します。チェックした内容をブラウザへ保存し、ページを再読み込みしても前回の選択状態を自動で復元できるサンプルです。設定画面やアンケート、タスク管理など、一度選択した内容を保持したい場面で便利に利用できます。

HTMLでチェックボックスを配置し、CSSで見やすいデザインを整え、JavaScriptのlocalStorageを利用してチェック状態を保存・復元します。特別なライブラリは不要で、ブラウザだけで動作するため、そのまま他のフォームにも応用できます。

チェック項目や表示内容は自由に変更できます。ページを閉じたり更新した後も選択内容が維持されるため、ユーザーの入力し直しを防ぎ、使いやすいフォームを簡単に作成できます。

コードについて 本記事のコードはサンプルコードです。ご利用前に必ず動作確認を行ってください。
カスタマイズについて チェック項目や保存キーは用途に合わせて自由に変更できます。

デモ

チェック状態を保存

チェックした内容はページを更新しても保持されます。

チェックを変更した後にページを再読み込みすると、選択状態が復元されます。

チェックを変更した後にページを再読み込みすると、前回のチェック状態が復元される動作を確認できます。

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

<!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-save-state_wrap">

    <!-- チェックボックスエリアのタイトル -->
    <div class="checkbox-save-state_title">
      チェック状態を保存
    </div>

    <!-- 保存機能を案内する説明文 -->
    <p class="checkbox-save-state_text">
      チェックした内容はページを更新しても保持されます。
    </p>

    <!-- 保存対象となるチェックボックス一覧 -->
    <div class="checkbox-save-state_list">

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

        <!-- HTMLの選択状態を保存するチェックボックス -->
        <input
          class="checkbox-save-state_input"
          type="checkbox"
          name="interest[]"
          value="HTML">

        <!-- HTMLの項目名 -->
        <span class="checkbox-save-state_name">
          HTML
        </span>

      </label>

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

        <!-- CSSの選択状態を保存するチェックボックス -->
        <input
          class="checkbox-save-state_input"
          type="checkbox"
          name="interest[]"
          value="CSS">

        <!-- CSSの項目名 -->
        <span class="checkbox-save-state_name">
          CSS
        </span>

      </label>

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

        <!-- JavaScriptの選択状態を保存するチェックボックス -->
        <input
          class="checkbox-save-state_input"
          type="checkbox"
          name="interest[]"
          value="JavaScript">

        <!-- JavaScriptの項目名 -->
        <span class="checkbox-save-state_name">
          JavaScript
        </span>

      </label>

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

        <!-- PHPの選択状態を保存するチェックボックス -->
        <input
          class="checkbox-save-state_input"
          type="checkbox"
          name="interest[]"
          value="PHP">

        <!-- PHPの項目名 -->
        <span class="checkbox-save-state_name">
          PHP
        </span>

      </label>

    </div>

    <!-- 保存状態の確認方法を案内する文章 -->
    <p class="checkbox-save-state_note">
      チェックを変更した後にページを再読み込みすると、選択状態が復元されます。
    </p>

  </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:チェック状態をlocalStorageへ保存し、ページ読み込み時に前回の状態を復元します。

設置方法・使い方
sampleフォルダ内へ3ファイルを配置し、index.htmlをブラウザで開くだけで利用できます。チェック状態はブラウザのlocalStorageへ自動保存されるため、ページを更新しても前回の選択内容が復元されます。

カスタマイズできる内容
index.htmlではチェックボックスの項目名や件数を変更できます。style.cssでは色・余白・文字サイズ・角丸・横幅などを自由に調整できます。script.jsでは保存キーを変更できるため、別ページや別フォームと保存内容を分けて管理できます。

数値調整
style.css
max-width:640px; …… 640pxは全体の最大横幅です。値を大きくすると横幅が広がります。
padding:32px; …… 32pxは内側の余白です。値を大きくすると余白が広くなります。
gap:14px; …… 14pxは各チェックボックスの間隔です。値を大きくすると項目同士の間隔が広がります。
font-size:22px; …… 22pxはタイトルの文字サイズです。値を変更するとタイトルの大きさが変わります。
font-size:16px; …… 16pxは本文や項目名の文字サイズです。値を変更すると文字の大きさが変わります。
border-radius:18px; …… 18pxは全体の角丸です。値を大きくすると丸みが強くなります。
width:20px; height:20px; …… 20pxはチェックボックスの大きさです。値を変更するとサイズが変わります。

レスポンシブ対応
style.cssのmedia queryでレスポンシブ対応しています。画面幅640px以下ではpaddingや余白を調整し、スマートフォン・タブレット・PCでもレイアウトが崩れず快適に利用できます。


“`

こちらもおすすめ


コメント