• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • <select>

    HTML <select>元素表示一个控件,提供一个选项菜单:菜单内的选项为<option>,可以由<optgroup>元素分组。选项可以被用户预先选择。

    浏览器支持

    所有主流浏览器都支持<select>标签。

    示例

    创建带有 4 个选项的选择列表:

    <select>
    	<option value="volvo">volvo</option>
    	<option value="saab">saab</option>
    	<option value="mercedes">mercedes</option>
    	<option value="audi">audi</option>
    </select>
    

    标签定义及使用说明

    <select>元素用来创建下拉列表。

    <select>元素中的<option>标签定义了列表中的可用选项。

    <select>元素是一种表单控件,可用于在表单中接受用户输入。

    技术摘要

    Content categoriesflow content,段落内容元素,交互内容元素,listed,labelable,resettable,andsubmittableform-associatedelement
    Permitted contentZero or more<option>or<optgroup>elements.
    Tag omission不允许,开始标签和结束标签都不能省略。
    Permitted parentsany element that accepts 段落内容元素
    Permitted ARIA rolesmenu
    DOM接口HTMLSelectElement

    用 CSS 美化

    众所周知,<select>元素很难用CSS进行高效的设计。你可以影响任何元素的某些方面-例如,操纵框模型,显示的字体等,你可以使用appearance属性来删除默认的系统外观。

    但是,这些属性不会在浏览器之间产生一致的结果,并且很难在列中将不同类型的表单元素相互排列。<select>元素的内部结构复杂,难以控制。如果你想获得完全控制,你应该考虑使用一个具有良好设施的库来构建窗体小部件(例如jQuery UI),或者尝试使用非语义元素,JavaScript和WAI-ARIA滚动自己的下拉菜单来提供语义。

    属性

    包括下列全局属性。

    • autocompleteDOMString提供用户代理自动完成功能的提示。有关完整值的完整列表以及有关如何使用自动完成的详细信息,请参阅HTML自动完成属性。
    • autofocus这个属性能够让一个对象在页面加载的时候获得焦点。在一个页面上下文中,只有一个对象可以有这个属性,并且是布尔值(true 或者 false).
    • disabled这个布尔值的属性表明一个用户是否可以操控该表单对象。如果这个属性没有被明确定义,则从它的父元素继承,例如fieldset;如果没有父元素设置disabled属性,那么默认该表单对象 enabled.
    • formselect所关联的form表单(它的"表单拥有者").如果这个属性被明确定义,那么它的值一定是在同一个document中表单ID.这样能够让你把select标签放在任何的位置,不仅限于作为form表单的后代元素.
    • multiple这个布尔值的属性标记select是否可以多选。默认是单选.
    • name控件名称
    • requiredHTML5新增
      规定select的值不能为空(布尔值).
    • size如果控件显示为滚动列表框,则此属性表示为控件中同时可见的行数。浏览器不需要将选择元素呈现为滚动列表框。默认值为0
    提示:根据HTML5规范,默认值应该为1;但是,在实践中,这样会影响到一些网站,同时其它浏览器也没有那么处理,所以Mozilla 在Firefox中选择继续使用默认值 0 .
    属性描述
    autofocus HTML5新增autofocus规定在页面加载时下拉列表自动获得焦点。
    disableddisabled当该属性为 true 时,会禁用下拉列表。
    form HTML5新增form_id定义 select 字段所属的一个或多个表单。
    multiplemultiple当该属性为 true 时,可选择多个选项。
    namename定义下拉列表的名称。
    required HTML5新增required规定用户在提交表单前必须选择一个下拉列表中的选项。
    sizenumber规定下拉列表中可见选项的数目。

    HTML 4.01 与 HTML 5 之间的差异

    HTML 5 有一些新的属性,同时不再支持一些 HTML 4.01 的属性。

    全局属性

    <select>标签支持HTML 的全局属性。

    事件属性

    <select>标签支持HTML 的事件属性。

    例子

    <select>
      <option value="volvo">volvo</option>
      <option value="saab">saab</option>
      <option value="opel">opel</option>
      <option value="audi">audi</option>
    </select>
    
    <!-- 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>
    

    上篇:<meter>

    下篇:<progress>