<option>タグは、選択肢を表す際に使用します。
option要素は、select要素で作成するセレクトボックスの選択肢、または、
datalist要素で作成する提案リストの選択肢を表します。
option要素にselected属性を指定すると、その選択肢はデフォルトで選択された状態となります。
option要素にdisabled属性を指定した場合、または、親要素となるoptgroup要素にdisabled属性を指定した場合、
そのoption要素は無効になります。
option要素の直後に別のoption要素が続く場合、
option要素の直後にoptgroup要素が続く場合、
option要素の直後にhr要素が続く場合、または、
親要素にそれ以上のコンテンツがない場合、
option要素の終了タグ</option>を省略できます。
以下のサンプルは、select要素でセレクトボックスを作成しています。
optgroup要素で3つの選択肢グループを定義して、
その子要素となるoption要素でひとつひとつの選択肢を定義しています。
<form action="courseselector.dll" method="get">
<p>視聴コースを選択して再生ボタンを押してください。
<p><label>コース:
<select name="c">
<optgroup label="8.01 物理 I: 古典力学">
<option value="8.01.1">講義 01: パワーズ・オブ・テン
<option value="8.01.2">講義 02: 運動学
<option value="8.01.3">講義 03: ベクトル
<optgroup label="8.02 電気と磁気">
<option value="8.02.1">講義 01: 世界を結びつけているもの
<option value="8.02.2">講義 02: 電界
<option value="8.02.3">講義 03: 電気束
<optgroup label="8.03 物理 III: 振動と波">
<option value="8.03.1">講義 01: 周期現象
<option value="8.03.2">講義 02: うなり
<option value="8.03.3">講義 03: 強制振動
</select>
</label>
<p><input type=submit value="▶ 再生">
</form>
以下のサンプルは、datalist要素で提案リストを作成しています。
datalist要素でデータリストであることを定義して、
その子要素となるoption要素でひとつひとつの選択肢を定義しています。
<label>
好きな動物:
<input name=animal list=animals>
<datalist id=animals>
<option value="猫">
<option value="犬">
</datalist>
</label>
以下のサンプルは、select要素でセレクトボックスを作成しています。
option要素の1つにselected属性を指定して、その選択肢が初期選択されるように指定しています。
<form method="post" action="step2.cgi">
<p>
<label for="course">ご希望のコース:</label>
<select id="course" name="course">
<option value="1">お試しコース</option>
<option value="2">ライトコース</option>
<option value="3" selected>ベーシックコース</option>
<option value="4">ビジネスコース</option>
<option value="5">プロフェッショナルコース</option>
</select>
</p>
<p><input type=submit value="次へ"></p>
</form>
select要素にrequired属性が指定されており、
multiple属性が指定されておらず、
size属性の値が1である場合、
select要素にはラベルとなるoption要素が必須となります。
上記条件を満たす場合、そのselect要素の最初の子要素となるoption要素のvalue属性の値を空の文字列にすると、
そのoption要素は実際の選択肢ではなくセレクトボックスのラベルとして機能します。
以下のサンプルは、select要素でセレクトボックスを作成しています。
その最初の子要素となるoption要素のvalue属性の値を空の文字列にして、セレクトボックスのラベルにしています。
さらに、select要素にrequired属性を指定して選択必須にしています。
<form method="post" action="step2.cgi">
<p>
<select name="course" required>
<option value="">ご希望のコースを選択してください</option>
<option value="1">お試しコース</option>
<option value="2">ライトコース</option>
<option value="3">ベーシックコース</option>
<option value="4">ビジネスコース</option>
<option value="5">プロフェッショナルコース</option>
</select>
</p>
<p><input type=submit value="次へ"></p>
</form>
複数のoption要素にselected属性を指定するには、
親要素となるselect要素にmultiple属性を指定する必要があります。
以下のサンプルは、select要素にmultiple属性を指定して複数選択可にしています。
すべてのoption要素にselected属性をしているので、デフォルトではすべての選択肢が選択された状態になります。
<p>
<label for="side">サイドメニューを選択:</label>
<select id="side" name="side" multiple>
<option value="1" selected>みそ汁</option>
<option value="5" selected>玉子</option>
<option value="2" selected>生野菜サラダ</option>
<option value="3" selected>お新香</option>
<option value="4" selected>のり</option>
</select>
</p>