HTML select控件

select控件

select控件用于创建下拉列表框(下拉菜单),并通过 option 元素创建列表中的选项,供用户从中选择。

定义 select控件时,在 select元素中设置 name 属性,并在每个option 元素中,通过 value 属性定义每个选项的值,通过 selected 属性指定该选项被默认选中。在 <option> 和 </option> 之间的文本,为该选项的显示值。

select控件支持单选,也支持多选,还可以对选项进行分组显示。提交表单时,select元素的 name 属性值,以及所有被选中的 option 元素的 value 属性值,都将会被提交到服务器端。

1) 单选的select控件

默认情况下,select控件是单选的,即用户只能从下拉列表中选择一项。如:

 
  1. <label for="unittype">Select unit type: </label>
  2. <select id="unittype" name="unittype" autofocus >
  3.    <option value="1"> Miner </option>
  4.    <option value="2"> Puffer </option>
  5.    <option value="3" selected> Snipey </option>
  6.    <option value="4"> Max </option>
  7.    <option value="5"> Firebot </option>
  8. </select>

上述代码定义了一个只能单选的下拉列表,由于为Snipey 设置了selected属性,在页面加载时,它默认处于选中状态。运行结果如图 3‑24 所示:

选项默认被选中图3-24 选项默认被选中

事实上,selected属性只是让某个选中默认被选中而已,页面加载完成后,用户可以随意选择任意一个选项。如,用户可以选择 Max,让它处于被选中状态,如图 3‑25 所示:

改变被选中的选项图3-25 改变被选中的选项

2)可多选的select控件

当设置multiple属性后,列表就支持多选,就可以有多个选项被同时选中。当然,也可以让多个选项默认被选中。

对于单选的下拉列表,只有一个选项可见的。支持多选后,就可以通过 size 属性,来定义可见的选项数目。size属性的值必须大于0,否则设置无效,并使用浏览器的默认值。如:

 
  1. <label for="allowedunits">可多选的select控件: </label>
  2. <select id="allowedunits" name="allowedunits" size="5" multiple required>
  3.    <option value="1" > Miner </option>
  4.    <option value="2" > Puffer </option>
  5.    <option value="3" > Snipey </option>
  6.    <option value="4" > Max </option>
  7.    <option value="5" > Firebot </option>
  8. </select>

上述代码定义了一个可多选的下拉列表,运行结果如图 3‑26 所示:

可多选的下拉列表图3-26 可多选的下拉列表

如果 size 属性的值小于选项的个数,就会显示为一个有滚动条的列表;如果 size 属性的值大于选项的个数,用户就可以通过点击空白区域,让所有的选项处于未选中状态。

说明:

关于size的默认值,各浏览器不尽相同。一般都是4,也就是说,默认有四个元素可见,即便是选项数少于四个,它默认也会保留显示四个元素的空间。

关于size的设置,各浏览器的支持也不尽相同,比如Google Chrome和Opera,如果用户设置的size小于默认值4,则设置无效,它要求最少有4个元素可见。Foxfire则不同,允许设置的size小于默认值,以用户设置的数目为准。

3)  select的选项分组显示

当使用一个较长的选项列表时,对相关的选项进行组合显得更人性化。可以使用optgroup标签对选项进行分组,并通过 optgroup 标签的 label 属性来定义分组的标题。

如,把选项分为三组,它们分别是 group1、group2 和 group3:

 
  1. <select name="c">
  2.    <optgroup label="group1">
  3.         <option value="1.1"> group1.1</option>
  4.         <option value="1.2"> group1.2</option>
  5.         <option value="1.3"> group1.3</option>
  6.    <optgroup label="group2">
  7.         <option value="2.1"> group2.1</option>
  8.         <option value="2.2"> group2.2</option>
  9.         <option value="2.3"> group2.2</option>
  10.    <optgroup label="group3">
  11.         <option value="3.1"> group3.1</option>
  12.         <option value="3.2"> group3.2</option>
  13.         <option value="3.3"> group3.3</option>
  14. </select>

浏览器通常会对 optgroup 中的 option 缩进,从而将它们和optgroup 的标题文本区分开来。运行结果如图 3‑27 所示:

选项分组显示图3-27 选项分组显示

optgroup 标签中的内容不能被选择,它的值也不会提交给服务器。事实上,optgroup 标签只是让选项分组显示而已,并没有对 select控件产生其他任何影响。你仍然可以设置 multiple属性,让菜单支持多选,也可以为 option 增加 selected 来设置默认选项等。

关于作者

歪脖先生,十五年以上软件开发经验,酷爱Web开发,精通 HTML、CSS、JavaScript、jQuery、JSON、Python、Less、Bootstrap等,著有《HTML宝典》、《揭秘CSS》、《Less简明教程》、《JSON教程》、《Bootstrap2用户指南》,并全部在 GitHub 上开源。

版权声明:本文出自 歪脖网 的《HTML宝典》,欢迎在线阅读,并提出宝贵意见。

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值