今回はお問い合わせフォームなどにある
チェックボックスの作り方についてまとめてみたいと思います。
こんなかんじのサンプルを作ってみました。
See the Pen
qBbYXed by notebook (@orange-notebook)
on CodePen.
質問に対してチェックボックスが4つ並んでいて、複数選択できるようになっています。
また果物の名前をクリックすると、該当するチェックボックスが選択されます。
前回のラジオボタンとの違いとしては、以下のようになります。
- ラジオボタン:選択肢の中で1つしか選択できない。
- チェックボックス:複数選択が可能。
では作り方をみていきましょう。
チェックボックスの作りかた
1:必要なタグ
チェックボックスを作るには以下の2つのタグが必要です。
- inputタグ (チェックボックス部分)
- labelタグ (果物の名前部分)
inputタグには閉じタグがありません。
またinputタグとlabelタグには必要な属性がいくつかあるので、
もう少し詳しくみていきたいと思います。
<div class="container">
<form action="">
<p>好きな果物にチェックを入れてください</p>
<div>
<input type="checkbox" name="fruit" id="banana" value="banana" />
<label for="banana">バナナ</label>
</div>
<div>
<input type="checkbox" name="fruit" id="orange" value="orange" />
<label for="orange">オレンジ</label>
</div>
<div>
<input type="checkbox" name="fruit" id="strawberry" value="strawberry" />
<label for="strawberry">いちご</label>
</div>
<div>
<input type="checkbox" name="fruit" id="grape" value="grape" />
<label for="grape">ぶどう</label>
</div>
</form>
</div>
2: inputタグに必要な属性 (チェックボックス部分)
チェックボックス部分となる、inputタグに必要な属性は以下の4つです。
- type属性 (type=”checkbox”):
チェックボックスにするための属性。inputタグのtype属性は種類が多様。 - name属性:
データが送信されたときに、なんの項目なのか識別するための属性。 - id属性:
labelタグと関連付けをさせるための属性。 - value属性:
データが送信されたときに、選択されたチェックボックスの内容を識別するための属性。属性設定がされておらず、チェックが入った状態で送信されると「on」という値になる。
今回もデモの選択肢となっているバナナを例にみていきたいと思います。
<input type=”checkbox” name=”fruit” id=”banana” value=”banana”>
- type=”checkbox”
- name=”fruit”
- id=”banana”
- value=”banana”
また同じ質問に対する選択肢なので、
バナナ以外の選択肢のname属性も「fruit」になっています。
3:labelタグに必要な属性 (果物の名前部分)
labelタグには以下の属性が必要です。
for属性:
inputタグと関連付けさせるための属性
for属性はinputタグのid属性と同じ値にすることが必要です。
バナナの項目のHTMLでは以下のようになっています。
<label for=”banana”>バナナ</label>
「for=”banana”」とすることで、「バナナ」の文字部分をクリックしたとき
対となるバナナのチェックボックスが選択されるようになります。
これで基本的なチェックボックスの完成です!
参考:MDN web docs HTML <input type=”checkbox”>