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宝典》,欢迎在线阅读,并提出宝贵意见。

HTML select控件相关推荐

  1. JavaScript操作select控件

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  2. html下拉列表插件,js+CSS实现模拟华丽的select控件下拉菜单效果

    本文实例讲述了js+CSS实现模拟select控件的下拉菜单效果.分享给大家供大家参考.具体如下: 这是一个JS+CSS技术实现的Select控件效果,模拟出来的,比默认的Select更漂亮,有了这个 ...

  3. Select控件实现联动下拉列表框效果

    Select控件实现联动下拉列表框效果(无需数据库) Select控件属性介绍: ID属性:获取或设置分配给Select控件的编程标识符. Name属性:获取或设置与Select控件关联的唯一标识符. ...

  4. 菜单向上拉html,模拟select控件,CSS上拉菜单

    模拟select控件,CSS下拉菜单 模拟select控件 html,body{height:100%;overflow:hidden;} body,div,form,h2,ul,li{margin: ...

  5. 以编程方式在ASP.NET MVC中使用多个HTML Select控件

    目录 介绍 使用代码 使用JQuery 使用Razor和C# 兴趣点 介绍 很多时候,我们使用JavaScript或JQuery代码来操纵HTML控件,却不知道ASP.NET MVC与Razor和C# ...

  6. Selenium处理Select控件

    Selenium处理Select控件 1.介绍: 在进行Web应用自动化测试的过程中,Select下拉框是我们经常会操作的控件,Selenium针对这种控件封装了Select类供我们测试使用.当然,也 ...

  7. 前端学习之select控件的使用2,省市县三级联动选择,select控件属性、方法、事件的综合应用...

    总结select控件的属性.方法.事件的使用.数据源使用json数据,包括json数据的遍历. <label for="sheng">省</label> & ...

  8. elemtnui select控件结合树形控件 实现自定义搜索方法

    业务需求: 可以从下拉框中选择数据,也可以自定义搜索. 前端效果: 1:从下拉框中选择 2:自定义搜索 3:单选并赋值:也就是选中那个就回显那个 代码实现: 1.首先需要用到select控件和tree ...

  9. 仿苹果 html5 combox,模仿combox(select)控件,不用为美化select烦恼了。

    模仿combox(select)控件,不用为美化select烦恼了. 来源:中文源码网    浏览: 次    日期:2018年9月2日 模仿combox(select)控件,不用为美化select烦 ...

最新文章

  1. compileSdkVersion,minSdkVersion,targetSdkVersion还有buildToolsVersion的区别
  2. var s=+newDate();
  3. ELK报错expected block end, but found BlockMappingStart
  4. Android 极广推送接入
  5. 第五十二期:Java开发数据库设计的14个技巧,你知道几个?
  6. android studio打包纯H5项目(集成5+SDK)
  7. 最新版的SSM框架spring5.0搭建教程(附源码)
  8. MySQL 大表优化方案,收藏了细看!
  9. java运行指定文件_java打开指定文件(运行指定程序exe)
  10. Android网络编程5之OkHttp2.x用法全解析
  11. SpaceBase – 基于 Sass 的响应式 CSS 框架
  12. mysql wait_timeout=_Mysql的wait_timeout解决_MySQL
  13. C# 搭建一个简单的WebApi项目
  14. android 结算权限,如何在Android应用程序中实施应用内结算?
  15. node.js室内装修风格选择系统毕业设计-附源码211552
  16. 【知识图谱】OpenKG 发布多个新冠病毒相关开放知识图谱
  17. 截止失真放大电路_音频功放失真?别急!这里有常见改善方法
  18. 计算机科学成为独立学科的奠基人,详解卡内基梅隆大学计算机学院
  19. Eclipse-WTP什么意思?
  20. 简单实现一个手持弹幕功能+文字抖动特效

热门文章

  1. android-HttpClient上传信息(包括图片)到服务端
  2. js去掉html标签和去掉字符串文本的所有的空格
  3. spark work启动失败
  4. ActiveRecord 模式杂谈
  5. BranchCache实验(1)总部的服务器配置
  6. NetJavaScriptFlex
  7. 在windows上搭建redis集群(Redis-Sentinel)
  8. lgb,xgb,gbdt,adb,RF区别与联系
  9. JAVA获取程序/jar包所在路径
  10. Linux串口打印信息工具,基于Qt实现Linux或Windows串口打印工具