<select>【選択リスト (List box control / HTML 4.01:option selector)】
概要 ( 例 DOM・Web API 関連要素 外部リンク ) 構文 DOMインタフェース
定義: 送信データ名 表示形式 選択項目 複数選択 選択項目の選択 グループ化 ( 参考:コンボボックス )
概要
メモ
- 選択リストの定義〔 例 〕
- 送信データ名:name属性
- 表示形式 (実装依存:モバイル系の多くはドロップダウンリストのみ)
- ドロップダウンリスト:size属性 値 = 1
- リストボックス:1 < size属性 値
- 選択項目:<option>【選択リストの選択項目】
- 複数選択:multiple属性 (項目選択:[Ctrl] + クリック 等)
- 選択項目の選択: <option>【選択リストの選択項目】のselected属性
- 選択項目のグループ化:<optgroup>【選択項目のグループ化】
- 参考
- 選択項目に加え入力も可能なコンボボックス: <input>【汎用入力コントロール】及び <datalist>【コンボボックス用リスト】 を使用
例
<p>
<select size="1">
<option>項目1
<option>項目2
<option>項目3
<option>項目4
</select>
ドロップダウンリスト
</p>
<p>
<select size="1">
<optgroup label="グループA">
<option>項目1
<option>項目2
</optgroup>
<optgroup label="グループB">
<option>項目3
<option>項目4
</optgroup>
</select>
ドロップダウンリスト+グループ化
</p>
<p>
<select size="3">
<option>項目1
<option>項目2
<option>項目3
<option>項目4
</select>
リストボックス
</p>
<p>
<select size="3">
<optgroup label="グループA">
<option>項目1
<option>項目2
</optgroup>
<optgroup label="グループB">
<option>項目3
<option>項目4
</optgroup>
</select>
リストボックス+グループ化
</p>
<p>
<select size="3" multiple>
<option>項目1
<option selected>項目2
<option selected>項目3
<option>項目4
</select>
リストボックス+複数選択
</p>
<p>
<select size="3" multiple>
<optgroup label="グループA">
<option>項目1
<option selected>項目2
</optgroup>
<optgroup label="グループB">
<option>項目3
<option selected>項目4
</optgroup>
</select>
リストボックス+グループ化+複数選択
</p>
ドロップダウンリスト
ドロップダウンリスト+グループ化
リストボックス
リストボックス+グループ化
リストボックス+複数選択
リストボックス+グループ化+複数選択
DOM・Web API (一部)
| 処理 | プロパティ / メソッド | 備考 |
|---|---|---|
| 選択項目変更イベント | onchange | 一部ブラウザで、ドロップダウンリストで上下矢印キーの選択は非通知 (Firefox:フォーカス喪失で通知) 未選択状態に変更時は、非通知 |
| 入力不正イベント | oninvalid | required【入力必須】 チェック |
| 要素取得 | document.getElementById(【id】) | HTMLSelectElement |
| 選択項目番号 (0~) | selectedIndex | 複数選択時は先頭の選択項目番号 (-1:未選択) |
| 選択項目値 | value | 複数選択時は先頭の選択項目値 |
| 項目数 | options.length | |
| 項目 (コレクション) | options | HTMLOptionsCollection |
| 項目 | options[【項目番号 (0~)】] | HTMLOptionElement |
| 項目値 取得・設定 | options[【項目番号 (0~)】].value | |
| 項目テキスト 取得・設定 | options[【項目番号 (0~)】].text | |
| 項目選択有無 取得・設定 | options[【項目番号 (0~)】].selected | true / false |
| 項目追加 | var option = document.createElement("option"); option.value = 【項目値】; option.text = "【項目テキスト】"; ~.appendChild(option); | |
| 先頭項目削除 | ~.removeChild(~.firstChild) | 全項目削除で使用 |
| 指定項目削除 | ~.removeChild(~.options[【項目番号 (0~)】]) | |
| スタイル 取得・設定 | style.~ | color・backgroundColor 等 |
関連要素
外部リンク
- WHATWG HTML (英語)
- W3C HTML 5.2 (英語)
- W3C HTML 5.1 2nd Edition (英語)
- W3C HTML5 (英語)
構文
| <select | 必須 | 開始タグ |
| autofocus | ページロード時、自動フォーカス | |
| disabled | コントロール無効化 | |
| form=【form要素id】 | 関連付けform要素id属性 (コントロールをform要素外に定義可能) | |
| multiple | 複数選択可 | |
| name=【コントロール名】 | コントロール名 (送信データ名) id との重複は不可 | |
| required | 入力必須 | |
| size=【リスト内表示行数】 | リスト内表示行数 (省略時:1 / multiple属性指定の場合 4) ・1:ドロップダウンリスト ・2以上:リストボックス | |
【グローバル属性】 | ||
| accesskey=【アクセスキー (複数:半角スペース区切り)】 | アクセスキー | |
| class=【クラス名 (複数:半角スペース区切り)】 | 所属クラス (複数指定:<style>【スタイル情報】)・外部スタイルシートで後から定義したほうが優先 | |
| contenteditable [ ="" (可能) | true (可能) | false (不可) | inherit (親要素継承) ] | 編集可否 | |
| contextmenu=<menu>【メニュー】 のid | コンテキストメニューのid | |
| data-*=【カスタムデータ】 | カスタムデータ属性 | |
| dir=ltr (左から右) | rtl (右から左) | auto (自動) | 文字表記方向 (ltr:left to right text or table / rtl:right to left text or table) ※<bdo>【テキスト方向形式】の場合、ltr または rtlが必須 | |
| draggable=true (ドラッグ可能) | false (ドラッグ不可) | auto (ブラウザ既定) | ドラッグ可否 | |
| dropzone=copy (ドロップデータのコピー) | move (ドロップデータを移動) | link (ドロップデータのリンク) | ドロップデータの扱い | |
| id=【id】 | id (ドキュメント中で一意 name【コントロール名 (送信データ名)】を含む) (<a>【ハイパーリンク】のリンク先・CSS対象(#~)・スクリプト参照) | |
| is=【定義名】 | 定義名 | |
| itemid=【URL】 | アイテムのグローバル識別子 | |
| itemprop=【アイテムのプロパティ (複数:半角スペース区切り)】 | アイテムのプロパティ | |
| itemref=【要素IDのリスト】 | アイテムの参照リスト | |
| itemscope | アイテムのプロパティ宣言 | |
| itemtype=【アイテムの型 (複数:半角スペース区切り)】 | アイテムの型 | |
| lang=【言語コード】 | 言語コード (【主コード】-【副コード】 例:"ja":日本語 / "en":英語 / "en-US":アメリカ英語) | |
| slot=<slot>【スロット】のname属性 | スロット名 | |
| spellcheck=true | false | スペルチェック有無 | |
| style=【スタイルシート (複数:セミコロン区切り / 最後のセミコロンは省略可)】 | スタイル | |
| tabindex=【タブインデックス番号】 | タブインデックス | |
| title=【説明文】 | 説明 (多くはツールチップ表示) ※<link>【メタデータリンク】:メタデータリンクのタイトル ※<style>【スタイル情報】:スタイルシート名 | |
| translate="" (翻訳対象) | yes (翻訳対象) | no (翻訳対象外) | 翻訳可否 | |
| > | ||
<optgroup>【選択項目のグループ化】 | ||
| </select> | 必須 | 終了タグ |
DOMインタフェース (HTMLSelectElement・HTMLElement)
| interface HTMLSelectElement : HTMLElement { | W3C:interface HTMLSelectElement (英語) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
【プロパティ】 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
【HTMLSelectElement プロパティ】 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| autofocus; | ページロード時、自動フォーカス | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| disabled; | 無効化 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| attribute HTMLFormElement? | form; | <form>【フォーム】 エレメント | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| labels; | 関連付け<label>【ラベル】エレメント リスト (W3c:NodeList (英語)) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| attribute unsigned long | length; | <option>【選択リストの選択項目】エレメント数 | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| multiple; | 複数選択可 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| name; | コントロール名 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| attribute HTMLOptionsCollection | options; | <option>【選択リストの選択項目】エレメント コレクション | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| required; | 入力必須 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| attribute long | selectedIndex; | 選択項目番号 | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| attribute HTMLCollection | selectedOptions; | 選択された<option>【選択リストの選択項目】エレメント コレクション | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| attribute unsigned long | size; | リスト内表示行数 | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| type; | タイプ (単一選択:"select-one" / 複数選択可:"select-multiple") | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| validationMessage; | 妥当性チェックNG時メッセージ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| attribute ValidityState | validity; |
妥当性状態
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
| value; | 値 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| willValidate; | 妥当性チェック対象 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
【HTMLElement プロパティ】 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| accessKey; | アクセスキー | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| accessKeyLabel; | アクセスキー表現文字列 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| contentEditable; | 編集可能状態 ("true":編集可能 / "false":編集不可 / "inherit":親要素継承) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Map | dataset; | カスタムデータ属性 (data-*) マップ | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| dir; | 文字表記方向 ("ltr":左から右 / "rtl":右から左) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| draggable; | ドラッグ可否 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| [PutForwards=value] | attribute DOMTokenList | dropzone; | ドロップデータの扱い | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| hidden; | 非表示状態 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| [TreatNullAs=EmptyString] | innerText; | 内容 (テキスト形式) | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| isContentEditable; | 編集可否 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| lang; | 言語コード | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| spellcheck; | スペルチェック有無 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| attribute long | tabIndex; | タブインデックス | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| title; | 説明 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| translate; | 翻訳可否 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
【ElementCSSInlineStyle プロパティ】 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| attribute CSSStyleDeclaration | style; | スタイル | |||||||||||||||||||||||||||||||||||||||||||||||||||||
【CSSStyleDeclaration プロパティ】 (仕様上、次と同等: CSSStyleDeclaration implements CSS2Properties) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| style.~; | スタイル属性 (例:style.color・style.backgroundColor) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
【Element プロパティ】 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| [SameObject] | attribute NamedNodeMap | attributes; | 関連属性 マップ | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| [SameObject] | attribute DOMTokenList | classList; | クラス名 リスト | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| className; | クラス名 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| id; | id (ページ内で一意:name【コントロール(送信)名】を含む) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ( | innerHTML;) | 内容 (HTML形式) W3C:未定義 (参照:Element.outerHTML・Node.textContent (innerText)) | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| localName; | ローカル名 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ? | namespaceURI; | ネームスペースURI | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| ( | outerHTML;) | タグを含む内容 (HTML形式) W3C:未定義 (参照:Element.innerHTML・Node.textContent (innerText)) | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| ? | prefix; | プリフィックス | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| tagName; | タグ名 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
【Node プロパティ】 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ? | baseURI; | ベースURI | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| [SameObject] | childNodes; | 子ノード リスト | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| ? | firstChild; | 先頭子ノード | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| ? | lastChild; | 最終子ノード | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| ? | nextSibling; | 次の兄弟ノード | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| nodeName; | ノード名 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| attribute unsigned short | nodeType; | ノードタイプ (ELEMENT_NODE / ATTRIBUTE_NODE / TEXT_NODE / CDATA_SECTION_NODE / ENTITY_REFERENCE_NODE / ENTITY_NODE / PROCESSING_INSTRUCTION_NODE / COMMENT_NODE / DOCUMENT_NODE / DOCUMENT_TYPE_NODE / DOCUMENT_FRAGMENT_NODE / NOTATION_NODE) | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| ? | nodeValue; | ノード値 | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| ? | ownerDocument; | オーナードキュメント | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| ? | parentElement; | 親エレメント | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| ? | parentNode; | 親ノード | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| ? | previousSibling; | 前の兄弟ノード | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| ? | textContent; (IE:innerText) | 内容 (Text形式) (参照:Element.innerHTML・Element.outerHTML) 取得:要素内のHTMLタグを除外しテキストのみ 設定:HTMLタグはテキスト変換 | |||||||||||||||||||||||||||||||||||||||||||||||||||||
【GlobalEventHandlers プロパティ (一部) 】 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| attribute EventHandler onabort; | on~; | イベントハンドラ (例:onclick・onfocus) | |||||||||||||||||||||||||||||||||||||||||||||||||||||
【ParentNode プロパティ】 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| attribute unsigned long | childElementCount; | 子エレメントの数 | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| [SameObject] | attribute HTMLCollection | children; | 子エレメント コレクション | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| ? | firstElementChild; | 最初の子エレメント | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| ? | lastElementChild; | 最後の子エレメント | |||||||||||||||||||||||||||||||||||||||||||||||||||||
【NonDocumentTypeChildNode プロパティ】 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ? | previousElementSibling; | 前の兄弟エレメント | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| ? | nextElementSibling; | 次の兄弟エレメント | |||||||||||||||||||||||||||||||||||||||||||||||||||||
【メソッド】 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
【HTMLSelectElement メソッド】 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| void add | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| boolean checkValidity(); | 妥当性チェック | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| getter Element? item(unsigned long index); | 項目エレメント 取得 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| HTMLOptionElement? namedItem( name); | 項目エレメント 取得 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| void remove(); | 項目削除 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| void remove(long index); | 項目削除 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| void setCustomValidity( error); | 妥当性エラーメッセージ設定 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| setter creator void (unsigned long index, HTMLOptionElement? option); | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
【HTMLElement メソッド】 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| void click(); | クリック 操作 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| void focus(); | フォーカス設定 操作 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| void forceSpellCheck(); | スペルチェック | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| void blur(); | フォーカス喪失 操作 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
【Element メソッド】 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ? getAttribute( name); | 属性取得 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ? getAttributeNS(? namespace, localName); | 属性取得 (ネームスペース指定) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| HTMLCollection getElementsByClassName( classNames); | エレメント コレクション取得 (クラス名指定) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| HTMLCollection getElementsByTagName( localName); | エレメント コレクション取得 (タグ名指定) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| HTMLCollection getElementsByTagNameNS(? namespace, localName); | エレメント コレクション取得 (ネームスペース・タグ名指定) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| boolean hasAttribute( name); | 属性チェック | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| boolean hasAttributeNS(? namespace, localName); | 属性チェック (ネームスペース指定) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| void removeAttribute( name); | 属性削除 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| void removeAttributeNS(? namespace, localName); | 属性削除 (ネームスペース指定) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| void setAttribute( name, value); | 属性設定 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| void setAttributeNS(? namespace, name, value); | 属性設定 (ネームスペース指定) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
【Node メソッド】 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Node appendChild(Node node); | 子ノード追加 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| [NewObject] Node cloneNode(optional boolean deep = false); | クローンノード作成 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| unsigned short compareDocumentPosition(Node other); | 他ノードとの位置比較 (DOCUMENT_POSITION_DISCONNECTED / DOCUMENT_POSITION_PRECEDING / DOCUMENT_POSITION_FOLLOWING / DOCUMENT_POSITION_CONTAINS / DOCUMENT_POSITION_CONTAINED_BY / DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| boolean contains(Node? other); | 指定子孫ノードの存在有無 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| boolean hasChildNodes(); | 子ノードの存在有無 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Node insertBefore(Node node, Node? child); | 指定ノード前挿入 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| boolean isDefaultNamespace(? namespace); | デフォルトネームスペース チェック | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| boolean isEqualNode(Node? node); | 同一ノードチェック | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ? lookupNamespaceURI(? prefix); | ネームスペースURI調査 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ? lookupPrefix(? namespace); | ネームスペース プリフィックス調査 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| void normalize(); | 標準化 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Node removeChild(Node child); | 子ノード削除 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Node replaceChild(Node node, Node child); | 子ノード置換 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
【ParentNode メソッド】 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Element? querySelector( selectors); | 指定セレクタ先頭エレメント取得 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| [NewObject] NodeList querySelectorAll( selectors); | 指定セレクタ ノードリスト取得 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
【ChildNode メソッド】 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| void remove(); | 削除 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }; | |||||||||||||||||||||||||||||||||||||||||||||||||||||||