お問い合わせフォームなどによくあるセレクトボックスですが、1行目は選択出来ないようにしたい場合もあると思います。
今回はその方法をご紹介します。
セレクトボックスで1行目を選択不可にする方法
まずは通常のセレクトボックスを見てみます。
See the Pen
セレクトボックス①(通常) by junpei (@junpei-sugiyama)
on CodePen.
ここでの選択肢は『チワワ・トイプードル・ミニチュアダックス』の3つですが、選択肢ではない『選択して下さい』も選択出来てしまいます。
方法①:disabled・selected
1行目を選択不可にした場合はこちらになります。
See the Pen
セレクトボックス②(1行目選択不可) by junpei (@junpei-sugiyama)
on CodePen.
コードの違いは以下になります。
<!-- 1行目が選択可 -->
<select>
<option>選択して下さい</option>
<option value="チワワ">チワワ</option>
<option value="トイプードル">トイプードル</option>
<option value="ミニチュアダックス">ミニチュアダックス</option>
<select>
<!-- 1行目が選択不可 -->
<select>
<option disabled selected>選択して下さい</option>
<option value="チワワ">チワワ</option>
<option value="トイプードル">トイプードル</option>
<option value="ミニチュアダックス">ミニチュアダックス</option>
<select>
違いは1行目にあるdisabledとselectedになります。
『disabled』はselect要素を無効にする属性。
『selected』は初期状態で選択された項目を表す属性となります。
もし『selected』がないとこのようになります。
See the Pen
セレクトボックス③(selectedなし) by junpei (@junpei-sugiyama)
on CodePen.
『選択して下さい』は選択不可になっていますが、初期状態で選択に設定していないので1つ目の選択肢が選択された状態になっています。
方法②:hidden
もう一つ方法があり、こちらになります。
See the Pen
セレクトボックス②(1行目選択不可:hidden) by junpei (@junpei-sugiyama)
on CodePen.
先ほどとの違いは『disabled・selected』が『hidden』になったところです。
<!-- 1行目が選択不可(方法①) -->
<select>
<option disabled selected>選択して下さい</option>
<option value="チワワ">チワワ</option>
<option value="トイプードル">トイプードル</option>
<option value="ミニチュアダックス">ミニチュアダックス</option>
<select>
<!-- 1行目が選択不可(方法②) -->
<select>
<option hidden>選択して下さい</option>
<option value="チワワ">チワワ</option>
<option value="トイプードル">トイプードル</option>
<option value="ミニチュアダックス">ミニチュアダックス</option>
<select>
どちらも1行目が選択不可には変わりませんが、セレクトボックスを開いた時に方法①だと1行目が表示され、方法②だと表示されません。
それぞれ微妙な違いがあるので、使い分けできるようになっておくと便利ですね。
まとめ
今回はセレクトボックスで1行目を選択不可にする方法を解説しました。
実務ではここをどうするかデザイナーさんやディレクターさんに確認するといいと思います。
以上になります。