概要
HTML select (<select>
) 元素是一种表单控件,可创建选项菜单。菜单内的选项为
, 可以由 <option>
元素分组。选项可以被用户预先选择。<optgroup>
用法
Content categories | flow content, phrasing content, interactive content, listed, labelable, resettable, and submittable form-associated element |
许可内容 | 0个或多个 <option> or <optgroup> 元素 |
标记省略 | 无,无论开始标记和结束标记都是强制的noney |
许可的父元素 | 接受段落式内容的任意元素 |
属性
包括下列全局属性。
autofocus
HTML5- 这个属性能够让一个对象在页面加载的时候获得焦点. 在一个页面上下文中, 只有一个对象可以有这个属性,并且是布尔值(true 或者 false).
disabled
- 这个布尔值的属性表明一个用户是否可以操控该表单对象. 如果这个属性没有被明确定义, 则从它的父元素继承, 例如
fieldset
; 如果没有父元素设置disabled
属性, 那么默认该表单对象 enabled. form
HTML5- select所关联的form表单 (它的"表单拥有者"). 如果这个属性被明确定义, 那么它的值一定是在同一个document中表单ID. 这样能够让你把select标签放在任何的位置, 不仅限于作为form表单的后代元素.
multiple
- 这个布尔值的属性标记select是否可以多选. 默认是单选.
name
- 控件名称
required
HTML5- 规定select的值不能为空(布尔值).
size
- 如果控件显示为滚动列表框,则此属性表示为控件中同时可见的行数。浏览器不需要将选择元素呈现为滚动列表框。默认值为0
Firefox 提示: 根据HTML5规范, 默认值应该为1; 但是,在实践中,这样会影响到一些网站,同时其它浏览器也没有那么处理,所以Mozilla 在Firefox中选择继续使用默认值 0 .
DOM 接口
本元素由 HTMLSelectElement
接口实现。
示例
<!-- The second value will be selected initially --> <select name="select"> <option value="value1">Value 1</option> <option value="value2" selected>Value 2</option> <option value="value3">Value 3</option> </select>
结果
注意
这个对象的内容是静态并且不可编辑. 但是你可以通过包含radioboxes和radioboxes的一个<fieldset>
来模拟可编辑特效(纯CSS), 请看例子.
Specifications
Specification | Status | Comments |
---|---|---|
HTML5 <select> |
Recommendation | |
HTML 4.01 Specification <select> |
Recommendation |
浏览器兼容性
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 1.0 | 1.0 (1.7 or earlier) | (Yes) | (Yes) | (Yes) |
required attribute |
(Yes) | 4.0 (2.0) | 10 | (Yes) | (Yes) |
Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | (Yes) [1] | 1.0 (1.0) [2] | (Yes) | (Yes) | (Yes) |
required attribute |
(Yes) | 4.0 (2.0) | 未实现 | (Yes) | (Yes) |
[1] In the Browser app for Android 4.1 (and possibly later versions), there is a bug where the menu indicator triangle on the side of a <select>
will not be displayed if a background
, border
, or border-radius
style is applied to the <select>
.
[2] Firefox for Android, by default, sets a background-image
gradient on all <select multiple>
elements. This can be disabled using background-image: none
.
参考
- 其它表单对象:
<form>
,<legend>
,<label>
,<button>
,<option>
,<datalist>
,<optgroup>
,<fieldset>
,<textarea>
,<keygen>
,<input>
,<output>
,<progress>
and<meter>
.