HTMLSelectElement - HTMLのselect要素
公開日:
HTMLSelectElementは、HTMLのselect要素が実装するインターフェイスです。
概要
- 名前
- HTMLSelectElement
- 継承
- EventTarget
- Node
- Element
- HTMLElement
- HTMLSelectElement
- 実装
- 実装するインターフェイスはありません。
- IDL
[HTMLConstructor] interface HTMLSelectElement : HTMLElement { [CEReactions] attribute DOMString autocomplete; [CEReactions] attribute boolean autofocus; [CEReactions] attribute boolean disabled; readonly attribute HTMLFormElement? form; [CEReactions] attribute boolean multiple; [CEReactions] attribute DOMString name; [CEReactions] attribute boolean required; [CEReactions] attribute unsigned long size; readonly attribute DOMString type; [SameObject] readonly attribute HTMLOptionsCollection options; [CEReactions] attribute unsigned long length; getter Element? item(unsigned long index); HTMLOptionElement? namedItem(DOMString name); [CEReactions] void add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null); [CEReactions] void remove(); // ChildNode overload [CEReactions] void remove(long index); [CEReactions] setter void (unsigned long index, HTMLOptionElement? option); [SameObject] readonly attribute HTMLCollection selectedOptions; attribute long selectedIndex; attribute DOMString value; readonly attribute boolean willValidate; readonly attribute ValidityState validity; readonly attribute DOMString validationMessage; boolean checkValidity(); boolean reportValidity(); void setCustomValidity(DOMString error); [SameObject] readonly attribute NodeList labels; };
- 仕様書
- https://html.spec.whatwg.org/multipage/forms.html#htmlselectelement
説明
HTMLSelectElementを作成する例です。
JavaScript
// 要素を作成する
var element = document.createElement( "select" ) ; // <select></select>
// 属性をセットする
element.name = "hoge" ; // →<select name="hoge"></select>
// option要素を追加する
var optionElement1 = new Option( "選択肢1", "a" ) ; // <option value="a">選択肢1</option>
element.add( optionElement1 ) ; // →<select name="hoge"><option value="a">選択肢1</option></select>
// option要素を追加する
var optionElement2 = new Option( "選択肢2", "b" ) ; // <option value="b">選択肢2</option>
element.add( optionElement2 ) ; // →<select name="hoge"><option value="a">選択肢1</option><option value="b">選択肢2</option></select>
インデックス番号で、option要素を取得できます。
HTML
<select id="hoge">
<option value="a">選択肢1</option>
<option value="b">選択肢2</option>
<option value="c">選択肢3</option>
<option value="d">選択肢4</option>
</select>
JavaScript
// 要素を取得する
var element = document.getElementById( "hoge" ) ; // <select id="hoge"> ... </select>
// インデックス番号から要素を取得する
element[0] ; // <option value="a">選択肢1</option>
element[1] ; // <option value="b">選択肢2</option>
element[2] ; // <option value="c">選択肢3</option>
element[3] ; // <option value="d">選択肢4</option>
どの項目が選択されているか、手軽に調べることができます。
HTML
<select id="hoge">
<option value="a">選択肢1</option>
<option value="b">選択肢2</option>
<option value="c" selected>選択肢3</option>
<option value="d">選択肢4</option>
</select>
JavaScript
// 要素を取得する
var element = document.getElementById( "hoge" ) ; // <select id="hoge"> ... </select>
// 選択されている項目を調べる
element.selectedIndex ; // 2 (選択肢3が選択されている場合)
element.value ; // "c" (選択肢3が選択されている場合)
プロパティ
Node、Element、HTMLElementのプロパティを利用できます。
HTMLSelectElement.autocomplete
- Chrome
- ×
- Firefox
- ×
- Edge
- ×
- IE
- ×
- Safari
- ● 9.1+
- Opera
- × -12
- iOS
- ● 10.0+
- Android
- ×
autocomplete属性を反映します。
HTMLSelectElement.autofocus
- Chrome
- ●
- Firefox
- ●
- Edge
- ●
- IE
- ● 10+
- Safari
- ●
- Opera
- ●
- iOS
- ●
- Android
- ●
autofocus属性を反映します。
HTMLSelectElement.disabled
- Chrome
- ●
- Firefox
- ●
- Edge
- ●
- IE
- ●
- Safari
- ●
- Opera
- ●
- iOS
- ●
- Android
- ●
disabled属性を反映します。
HTMLSelectElement.form
- Chrome
- ●
- Firefox
- ●
- Edge
- ●
- IE
- ●
- Safari
- ●
- Opera
- ●
- iOS
- ●
- Android
- ●
この要素が関連付けられているform要素を返します。
HTMLSelectElement.labels
HTMLSelectElement.length
- Chrome
- ●
- Firefox
- ●
- Edge
- ●
- IE
- ●
- Safari
- ●
- Opera
- ●
- iOS
- ●
- Android
- ●
所属するoption要素の数を返します。
HTMLSelectElement.multiple
- Chrome
- ●
- Firefox
- ●
- Edge
- ●
- IE
- ●
- Safari
- ●
- Opera
- ●
- iOS
- ●
- Android
- ●
multiple属性を反映します。
HTMLSelectElement.name
- Chrome
- ●
- Firefox
- ●
- Edge
- ●
- IE
- ●
- Safari
- ●
- Opera
- ●
- iOS
- ●
- Android
- ●
name属性を反映します。
HTMLSelectElement.options
- Chrome
- ●
- Firefox
- ●
- Edge
- ●
- IE
- ●
- Safari
- ●
- Opera
- ●
- iOS
- ●
- Android
- ●
所属する全てのoption要素を返します。
HTMLSelectElement.required
- Chrome
- ●
- Firefox
- ●
- Edge
- ●
- IE
- ● 10+
- Safari
- ● 5.1+
- Opera
- ● 11.6+
- iOS
- ●
- Android
- ● 4.0+
required属性を反映します。
HTMLSelectElement.selectedIndex
- Chrome
- ●
- Firefox
- ●
- Edge
- ●
- IE
- ●
- Safari
- ●
- Opera
- ●
- iOS
- ●
- Android
- ●
選択状態の項目のインデックス番号を返します。
HTMLSelectElement.selectedOptions
- Chrome
- ● 22+
- Firefox
- ● 26+
- Edge
- ●
- IE
- ×
- Safari
- ● 6.0+
- Opera
- ●
- iOS
- ● 6.0+
- Android
- ● 4.4+
選択状態の全ての項目を、HTMLCollectionで返します。
HTMLSelectElement.size
- Chrome
- ●
- Firefox
- ●
- Edge
- ●
- IE
- ●
- Safari
- ●
- Opera
- ●
- iOS
- ●
- Android
- ●
size属性を反映します。
HTMLSelectElement.type
- Chrome
- ●
- Firefox
- ●
- Edge
- ●
- IE
- ●
- Safari
- ●
- Opera
- ●
- iOS
- ●
- Android
- ●
単独選択型なら"select-one"
、複数選択型なら"select-multiple"
を返します。
HTMLSelectElement.validationMessage
- Chrome
- ●
- Firefox
- ●
- Edge
- ●
- IE
- ● 10+
- Safari
- ● 5.1+
- Opera
- ●
- iOS
- ●
- Android
- ●
入力内容の検証エラーメッセージを文字列で返します。
HTMLSelectElement.validity
- Chrome
- ●
- Firefox
- ●
- Edge
- ●
- IE
- ● 10+
- Safari
- ● 5.1+
- Opera
- ●
- iOS
- ●
- Android
- ●
入力内容の検証結果の情報を表すValidityStateを返します。
HTMLSelectElement.value
- Chrome
- ●
- Firefox
- ●
- Edge
- ●
- IE
- ●
- Safari
- ●
- Opera
- ●
- iOS
- ●
- Android
- ●
選択状態の項目の値を返します。
HTMLSelectElement.willValidate
- Chrome
- ●
- Firefox
- ●
- Edge
- ●
- IE
- ● 10+
- Safari
- ●
- Opera
- ●
- iOS
- ●
- Android
- ●
要素が、検証候補の場合はtrue
、検証候補じゃない場合はfalse
を返します。
メソッド
EventTarget、Node、Element、HTMLElementのメソッドを利用できます。
HTMLSelectElement.add()
- Chrome
- ●
- Firefox
- ●
- Edge
- ●
- IE
- ●
- Safari
- ●
- Opera
- ●
- iOS
- ●
- Android
- ●
新しくoption要素、または、optgroup要素を追加します。
HTMLSelectElement.checkValidity()
- Chrome
- ●
- Firefox
- ●
- Edge
- ●
- IE
- ● 10+
- Safari
- ● 5.1+
- Opera
- ●
- iOS
- ●
- Android
- ●
入力内容を検証し、検証エラーがある場合にinvalidイベントを発生させます。
HTMLSelectElement.item()
- Chrome
- ●
- Firefox
- ●
- Edge
- ●
- IE
- ●
- Safari
- ●
- Opera
- ●
- iOS
- ●
- Android
- ●
インデックス番号からoption要素を返します。element[index]
というリテラル構文でも同じ結果を得られます。
HTMLSelectElement.namedItem()
- Chrome
- ●
- Firefox
- ●
- Edge
- ●
- IE
- ●
- Safari
- ●
- Opera
- ●
- iOS
- ●
- Android
- ●
名前からoption要素を取得します。
HTMLSelectElement.remove()
HTMLSelectElement.reportValidity()
- Chrome
- ● 40+
- Firefox
- ● 49+
- Edge
- ×
- IE
- ×
- Safari
- ×
- Opera
- ● 27+
- iOS
- ×
- Android
- ×
入力内容を検証し、検証エラーがある場合にinvalidイベントを発生させ、さらに、検証エラーメッセージを表示します。
HTMLSelectElement.setCustomValidity()
- Chrome
- ●
- Firefox
- ●
- Edge
- ●
- IE
- ● 10+
- Safari
- ● 5.1+
- Opera
- ●
- iOS
- ●
- Android
- ●
カスタム検証エラー状態にします。または、カスタム検証エラー状態を解除します。
定数
Nodeの定数を利用できます。
サポート状況
HTMLSelectElementのサポート状況です。
ブラウザ | サポート状況 | ブラウザ | サポート状況 |
---|---|---|---|
Chrome | Supported | Firefox | Supported |
Edge | Supported | Internet Explorer | Supported |
Safari | Supported | Opera | Supported |
iOS Safari | Supported | Android | Supported |
Chrome
バージョン | サポート状況 | 公開時期 | シェア |
---|---|---|---|
57 | Supported | 2017年3月頃 | 0.1% |
56 | Supported | 2017年1月頃 | 12.02% |
55 | Supported | 2016年12月頃 | 12.36% |
54 | Supported | 2016年10月頃 | 0.44% |
53 | Supported | 2016年9月頃 | 0.25% |
52 | Supported | 2016年7月頃 | 0.27% |
51 | Supported | 2016年6月頃 | 0.4% |
50 | Supported | 2016年4月頃 | 0.32% |
49 | Supported | 2016年3月頃 | 0.47% |
48 | Supported | 2016年1月頃 | 0.02% |
47 | Supported | 2015年12月頃 | 0.06% |
46 | Supported | 2015年10月頃 | 0.56% |
45 | Supported | 2015年9月頃 | 0.01% |
44 | Supported | 2015年7月頃 | 0.83% |
43 | Supported | 2015年5月頃 | 0.05% |
42 | Supported | 2015年4月頃 | 0.05% |
41 | Supported | 2015年3月頃 | 0.01% |
40 | Supported | 2015年1月頃 | 0.59% |
39 | Supported | 2014年11月頃 | 0.02% |
38 | Supported | 2014年10月頃 | 0.08% |
37 | Supported | 2014年8月頃 | 0.01% |
36 | Supported | 2014年7月頃 | 0.01% |
35 | Supported | 2014年5月頃 | 0.01% |
34 | Supported | 2014年4月頃 | 0.14% |
33 | Supported | 2014年2月頃 | 0.01% |
32 | Supported | 2014年1月頃 | 0% |
31 | Supported | 2013年11月頃 | 0.01% |
30 | Supported | 2013年10月頃 | 0.03% |
29 | Supported | 2013年8月頃 | 0% |
28 | Supported | 2013年6月頃 | 0.03% |
27 | Supported | 2013年5月頃 | 0.01% |
26 | Supported | 2013年3月頃 | 0% |
25 | Supported | 2013年2月頃 | 0% |
24 | Supported | 2013年1月頃 | 0% |
23 | Supported | 2012年11月頃 | 0% |
22 | Supported | 2012年9月頃 | 0% |
21 | Supported | 2012年7月頃 | 0% |
20 | Supported | 2012年6月頃 | 0% |
19 | Supported | 2012年5月頃 | 0% |
18 | Supported | 2012年3月頃 | 0.01% |
17 | Supported | 2012年2月頃 | 0.01% |
16 | Supported | 2011年12月頃 | 0% |
15 | Supported | 2011年10月頃 | 0% |
14 | Supported | 2011年9月頃 | 0% |
Firefox
バージョン | サポート状況 | 公開時期 | シェア |
---|---|---|---|
52 | Supported | 2017年3月頃 | 0.12% |
51 | Supported | 2017年1月頃 | 1.7% |
50 | Supported | 2016年11月頃 | 0.78% |
49 | Supported | 2016年9月頃 | 0.02% |
48 | Supported | 2016年8月頃 | 0.07% |
47 | Supported | 2016年6月頃 | 0.03% |
46 | Supported | 2016年4月頃 | 0.01% |
45 | Supported | 2016年3月頃 | 0.1% |
44 | Supported | 2016年1月頃 | 0.01% |
43 | Supported | 2015年12月頃 | 0.02% |
42 | Supported | 2015年11月頃 | 0.01% |
41 | Supported | 2015年9月頃 | 0% |
40 | Supported | 2015年8月頃 | 0.02% |
39 | Supported | 2015年7月頃 | 0.01% |
38 | Supported | 2015年5月頃 | 0.02% |
37 | Supported | 2015年3月頃 | 0% |
36 | Supported | 2015年2月頃 | 0.01% |
35 | Supported | 2015年1月頃 | 0% |
34 | Supported | 2014年12月頃 | 0.01% |
33 | Supported | 2014年10月頃 | 0% |
32 | Supported | 2014年9月頃 | 0% |
31 | Supported | 2014年7月頃 | 0.01% |
30 | Supported | 2014年6月頃 | 0% |
29 | Supported | 2014年4月頃 | 0% |
28 | Supported | 2014年3月頃 | 0.01% |
27 | Supported | 2014年2月頃 | 0% |
26 | Supported | 2013年12月頃 | 0% |
25 | Supported | 2013年10月頃 | 0% |
24 | Supported | 2013年9月頃 | 0% |
23 | Supported | 2013年8月頃 | 0% |
22 | Supported | 2013年6月頃 | 0% |
21 | Supported | 2013年5月頃 | 0% |
20 | Supported | 2013年4月頃 | 0% |
19 | Supported | 2013年2月頃 | 0% |
18 | Supported | 2013年1月頃 | 0% |
17 | Supported | 2012年11月頃 | 0% |
16 | Supported | 2012年10月頃 | 0% |
15 | Supported | 2012年8月頃 | 0% |
14 | Supported | 2012年7月頃 | 0% |
13 | Supported | 2012年6月頃 | 0% |
12 | Supported | 2012年4月頃 | 0% |
11 | Supported | 2012年3月頃 | 0% |
10 | Supported | 2012年1月頃 | 0% |
9 | Supported | 2011年12月頃 | 0% |
8 | Supported | 2011年11月頃 | 0% |
7 | Supported | 2011年9月頃 | 0% |
6 | Supported | 2011年8月頃 | 0% |
5 | Supported | 2011年6月頃 | 0% |
4 | Supported | 2011年3月頃 | 0% |
Edge
バージョン | サポート状況 | 公開時期 | シェア |
---|---|---|---|
14 | Supported | 2016年2月頃 | 1.05% |
13 | Supported | 2015年9月頃 | 0.08% |
Internet Explorer
バージョン | サポート状況 | 公開時期 | シェア |
---|---|---|---|
11 | Supported | 2013年10月頃 | 4.99% |
10 | Supported | 2012年8月頃 | 0.09% |
9 | Supported | 2011年3月頃 | 0.18% |
8 | Supported | 2009年3月頃 | 0.04% |
7 | Supported | 2006年10月頃 | 0.01% |
6 | Supported | 2001年8月頃 | 0% |
Safari
バージョン | サポート状況 | 公開時期 | シェア |
---|---|---|---|
10 | Supported | 2016年10月頃 | 0% |
9.1 | Supported | 2015年9月頃 | 0% |
8.0 | Supported | 2014年10月頃 | 0% |
7.1 | Supported | 2013年10月頃 | 0% |
6.0 | Supported | 2012年7月頃 | 0% |
5.1 | Supported | 2011年7月頃 | 0% |
4 | Supported | 2009年6月頃 | 0% |
Opera
バージョン | サポート状況 | 公開時期 | シェア |
---|---|---|---|
43 | Supported | 2017年2月頃 | 0.06% |
42 | Supported | 2016年12月頃 | 0.09% |
41 | Supported | 2016年10月頃 | 0.01% |
40 | Supported | 2016年9月頃 | 0% |
39 | Supported | 2016年8月頃 | 0% |
38 | Supported | 2016年6月頃 | 0% |
37 | Supported | 2016年5月頃 | 0.01% |
36 | Supported | 2016年3月頃 | 0.01% |
35 | Supported | 2016年2月頃 | 0% |
34 | Supported | 2015年12月頃 | 0% |
33 | Supported | 2015年10月頃 | 0% |
32 | Supported | 2015年9月頃 | 0% |
31 | Supported | 2015年8月頃 | 0% |
30 | Supported | 2015年6月頃 | 0% |
29 | Supported | 2015年4月頃 | 0% |
28 | Supported | 2015年3月頃 | 0% |
27 | Supported | 2015年1月頃 | 0% |
26 | Supported | 2014年12月頃 | 0% |
25 | Supported | 2014年10月頃 | 0% |
24 | Supported | 2014年9月頃 | 0% |
23 | Supported | 2014年7月頃 | 0% |
22 | Supported | 2014年6月頃 | 0% |
21 | Supported | 2014年5月頃 | 0.01% |
20 | Supported | 2014年3月頃 | 0% |
19 | Supported | 2014年1月頃 | 0% |
18 | Supported | 2013年11月頃 | 0% |
17 | Supported | 2013年10月頃 | 0% |
16 | Supported | 2013年8月頃 | 0% |
15 | Supported | 2013年7月頃 | 0% |
12 | Supported | 2012年6月頃 | 0.02% |
11.6 | Supported | 2011年12月頃 | 0% |
11.1 | Supported | 2011年4月頃 | 0% |
iOS Safari
バージョン | サポート状況 | 公開時期 | シェア |
---|---|---|---|
10.0 | Supported | 2016年9月頃 | 39.65% |
9.1 | Supported | 2015年9月頃 | 5.39% |
8.3 | Supported | 2014年9月頃 | 1.03% |
7.0 | Supported | 2013年9月頃 | 0.24% |
6.0 | Supported | 2012年9月頃 | 0.05% |
5.1 | Supported | 2011年10月頃 | 0.03% |
Android
バージョン | サポート状況 | 公開時期 | シェア |
---|---|---|---|
4.4 | Supported | 2013年10月頃 | 0% |
4.3 | Supported | 2013年7月頃 | 0% |
4.2 | Supported | 2013年3月頃 | 0.03% |
4.1 | Supported | 2012年12月頃 | 0% |
4.0 | Supported | 2012年6月頃 | 1.61% |
2.3 | Supported | 2011年10月頃 | 0% |