The HTML <option> element is used to create a control representing an item within a <select>, an <optgroup> or a <datalist> HTML5 element.
| Content categories | None. |
|---|---|
| Permitted content | Text with eventually escaped characters (like é). |
| Tag omission | The start tag is mandatory. The end tag is optional if this element is immediately followed by another <option> element or an <optgroup>, or if the parent element has no more content. |
| Permitted parents | A <select>, an <optgroup> or a <datalist> element. |
| Permitted ARIA roles | None |
| DOM interface | HTMLOptionElement |
This element includes the global attributes.
disabled<optgroup> element.labellabel attribute isn't defined, its value is that of the element text content.selected<option> element is the descendant of a <select> element whose multiple attribute is not set, only one single <option> of this <select> element may have the selected attribute.valueSee <select> for examples.
| Specification | Status | Comment |
|---|---|---|
| WHATWG HTML Living Standard The definition of '<option>' in that specification. | Living Standard | |
| HTML5 The definition of '<option>' in that specification. | Recommendation | |
| HTML 4.01 Specification The definition of '<option>' in that specification. | Recommendation | Initial definition |
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|---|
| Basic support | 1.0 | (Yes) | 1.0 (1.7 or earlier)[1][2] | (Yes) | (Yes) | (Yes) |
| Feature | Android | Edge | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | 1.0 (1.0)[1] | (Yes) | (Yes) | (Yes) |
[1] Gecko doesn't display the value of the label attribute as option text if element's content is empty. See bug 1205213.
[2] Historically, Firefox has allowed keyboard and mouse events to bubble up from the <option> element to the parent <select> element. This doesn't happen in Chrome, however, although this behavior is inconsistent across many browsers. For better Web compatibility (and for technical reasons), when Firefox is in multi-process mode and the <select> element is displayed as a drop-down list. The behavior is unchanged if the <select> is presented inline and it has either the multiple attribute defined or a size attribute set to more than 1. Rather than watching <option> elements for events, you should watch for {event("change")}} events on <select>. See bug 1090602 for details.
<form>, <legend>, <label>, <button>, <select>, <datalist>, <optgroup>, <fieldset>, <textarea>, <keygen>, <input>, <output>, <progress> and <meter>.
© 2005–2017 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option