トップページ  > HTML Living Standard  > <option>

★HTML Living Standard リファレンス

<option> …… 選択肢を表す
Internet Explorer Microsoft Edge Google Chrome Safari Firefox Opera
広告

<option>タグは、選択肢を表す際に使用します。

option要素は、select要素で作成するセレクトボックスの選択肢、または、 datalist要素で作成する提案リストの選択肢を表します。

option要素にselected属性を指定すると、その選択肢はデフォルトで選択された状態となります。

option要素にdisabled属性を指定した場合、または、親要素となるoptgroup要素にdisabled属性を指定した場合、 そのoption要素は無効になります。

終了タグ</option>の省略について

option要素の直後に別のoption要素が続く場合、 option要素の直後にoptgroup要素が続く場合、 option要素の直後にhr要素が続く場合、または、 親要素にそれ以上のコンテンツがない場合、 option要素の終了タグ</option>を省略できます。

■属性

disabled属性
フォームコントロールが無効かどうかを指定します。
label属性
ユーザーに見えるラベルを指定します。
selected属性
オプションがデフォルトで選択されているかどうかを指定します。
value属性
フォーム送信に使用される値を指定します。

■使用例

以下のサンプルは、select要素でセレクトボックスを作成しています。 optgroup要素で3つの選択肢グループを定義して、 その子要素となるoption要素でひとつひとつの選択肢を定義しています。

HTMLソース

<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要素でひとつひとつの選択肢を定義しています。

HTMLソース

<label>
 好きな動物:
 <input name=animal list=animals>
 <datalist id=animals>
  <option value="猫">
  <option value="犬">
 </datalist>
</label>
↓↓↓

ブラウザ上の表示

■使用例

以下のサンプルは、select要素でセレクトボックスを作成しています。 option要素の1つにselected属性を指定して、その選択肢が初期選択されるように指定しています。

HTMLソース

<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>
↓↓↓

ブラウザ上の表示

最初のoption要素をセレクトボックスのラベルにする

select要素にrequired属性が指定されており、 multiple属性が指定されておらず、 size属性の値が1である場合、 select要素にはラベルとなるoption要素が必須となります。

上記条件を満たす場合、そのselect要素の最初の子要素となるoption要素のvalue属性の値を空の文字列にすると、 そのoption要素は実際の選択肢ではなくセレクトボックスのラベルとして機能します。

■使用例

以下のサンプルは、select要素でセレクトボックスを作成しています。 その最初の子要素となるoption要素のvalue属性の値を空の文字列にして、セレクトボックスのラベルにしています。 さらに、select要素にrequired属性を指定して選択必須にしています。

HTMLソース

<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属性を指定する

複数のoption要素にselected属性を指定するには、 親要素となるselect要素にmultiple属性を指定する必要があります。

■使用例

以下のサンプルは、select要素にmultiple属性を指定して複数選択可にしています。 すべてのoption要素にselected属性をしているので、デフォルトではすべての選択肢が選択された状態になります。

HTMLソース

<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>
↓↓↓

ブラウザ上の表示

■関連項目

  • <form> …… フォームを表す
  • <label> …… フォーム入力欄のキャプションを表す
  • <input> …… フォーム入力欄を表す
  • <button> …… ボタンを表す
  • <select> …… セレクトボックスを表す
  • <datalist> …… 選択肢のデータリストを表す
  • <optgroup> …… 選択肢グループを表す
  • <option> …… 選択肢を表す
  • <textarea> …… 複数行プレーンテキストの入力欄を表す
  • <output> …… 実行結果の出力を表す
  • <progress> …… タスクの進行状況を表す
  • <meter> …… 既知の範囲内の測定値を表す
  • <fieldset> …… フォームグループを表す
  • <legend> …… フォームグループのキャプションを表す
広告
Sponsors
広告
MuuMuu Domain!
ドメイン取るならお名前.com
現役エンジニアのオンライン家庭教師【CodeCamp】
サイトに広告を掲載してお小遣いが稼げる!【A8.net】
Node.jsコース
はじめてのプログラミングコース
▲ページ先頭へ
HTMLクイックリファレンスについて
© HTMQ