optionタグ -選択肢を定義する|HTML辞典
<option>タグとは?
<option> タグは、<select> や <optgroup> の中で選択肢を定義するためのタグ です。
フォームのドロップダウンリストや選択メニューの各項目を作成する際に使用されます。
基本情報
コンテンツモデル
フローコンテンツ(Flow Content)、フォーム関連コンテンツ(Form-associated Content)。
閉じタグの有無
<option> は開始タグ(<option>)と閉じタグ(</option>)の両方が必要です。
基本的な記述方法
<select name="fruit">
<option value="apple">りんご</option>
<option value="banana">バナナ</option>
<option value="grape">ぶどう</option>
</select>
使用できる主な属性
<option> タグには重要な属性がいくつかあります。
| 属性名 | 説明 | 例 |
|---|---|---|
value | 選択肢の値を指定 | <option value="red">赤</option> |
selected | デフォルトの選択状態にする | <option selected>りんご</option> |
disabled | 選択できない状態にする | <option disabled>選択不可</option> |
label | <option> に説明を追加(非推奨) | <option label="青">ブルー</option> |
CSSを使ったデザイン変更
デフォルトのデザインを変更したい場合は、CSSを活用できます。
select {
width: 100%;
padding: 8px;
border: 1px solid #ccc;
border-radius: 5px;
background-color: white;
}
適切な使用例
✅ 一般的なドロップダウンリスト
<select name="color">
<option value="red">赤</option>
<option value="blue">青</option>
<option value="green">緑</option>
</select>
✅ selected を使ってデフォルトの選択肢を指定
<select name="size">
<option value="small">Sサイズ</option>
<option value="medium" selected>Mサイズ</option>
<option value="large">Lサイズ</option>
</select>
✅ disabled を使って選択できないオプションを作成
<select name="payment">
<option value="credit">クレジットカード</option>
<option value="paypal" disabled>PayPal(現在利用不可)</option>
<option value="bank">銀行振込</option>
</select>
✅ <optgroup> を使って選択肢をグループ化
<select name="food">
<optgroup label="フルーツ">
<option value="apple">りんご</option>
<option value="banana">バナナ</option>
</optgroup>
<optgroup label="野菜">
<option value="carrot">にんじん</option>
<option value="potato">じゃがいも</option>
</optgroup>
</select>
適切でない使用例(誤った使い方)
❌ <option> を <select> の外に記述すると機能しない
<!-- NG: <select> の外に <option> を記述 -->
<option value="dog">犬</option>
<select name="pet">
<option value="cat">猫</option>
</select>
✅ 正しい書き方(<option> は <select> の中に記述)
<select name="pet">
<option value="dog">犬</option>
<option value="cat">猫</option>
</select>
❌ value を指定しないとフォーム送信時に値が取得できない
phpコピーする編集する<!-- NG: value属性なし -->
<select name="language">
<option>日本語</option>
<option>英語</option>
</select>
✅ 正しい書き方(value を指定)
<select name="language">
<option value="ja">日本語</option>
<option value="en">英語</option>
</select>
<option>タグと他のタグの違い
| タグ | 役割 | 特徴 | 適切な用途 |
|---|---|---|---|
<option> | 選択肢を定義 | value を指定可能 | <select> 内の個別の選択肢 |
<select> | ドロップダウンリストを作成 | <option> を内包 | 単一選択、複数選択 |
<optgroup> | 選択肢をグループ化 | label 属性を指定 | <select> 内のカテゴリ分け |
<input type="radio"> | ラジオボタンを作成 | グループの中から1つを選択 | 少数の選択肢(2~5個程度) |
使用上の注意点
✅ <option> は必ず <select> または <optgroup> の中に配置する
<select>の外に<option>を記述しても動作しない。
✅ value 属性を指定してフォーム送信時に値を取得できるようにする
valueを指定しないと、フォーム送信時に選択された値が送信されない。
✅ selected を使用してデフォルトの選択肢を指定できる
selectedを使うと、最初に選択される値を決めることができる。
関連タグ
<select>– 選択肢をまとめるコンテナ<optgroup>– 選択肢をグループ化<input type="radio">– ラジオボタンの作成<datalist>– 入力補助リスト
まとめ
<option>タグは、HTML文書内で<select>や<optgroup>の中で選択肢を定義するためのタグです。 valueを適切に設定し、selectedやdisabledを活用してユーザーが選択しやすいUIを作成できます。
