codecamp

超详细的HTML <select> 标签用法及技巧介绍

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

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

select 元素可创建单选或多选菜单。当提交表单时,浏览器会提交选定的项目,或者收集用逗号分隔的多个选项,将其合成一个单独的参数列表,并且在将 <select> 表单数据提交给服务器时包括 name 属性。

提示和注释

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


HTML 4.01 与 HTML5之间的差异

HTML5 增加了一些新的属性。

实例

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

<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>

尝试一下 »

浏览器支持

Internet Explorer Firefox Opera Google Chrome Safari

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


属性

New :HTML5 中的新属性。

属性 描述
autofocusNew autofocus 规定在页面加载时下拉列表自动获得焦点。
disabled disabled 当该属性为 true 时,会禁用下拉列表。
formNew form_id 定义 select 字段所属的一个或多个表单。
multiple multiple 当该属性为 true 时,可选择多个选项。
name name 定义下拉列表的名称。
requiredNew required 规定用户在提交表单前必须选择一个下拉列表中的选项。
size number 规定下拉列表中可见选项的数目。


全局属性

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


事件属性

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


相关文章

HTML DOM 参考手册: Select 对象

<select>标签的使用技巧总结

1.动态创建select

function createSelect(){
    var mySelect = document.createElement("select");
    mySelect.id = "mySelect";
    document.body.appendChild(mySelect);
}

2.添加选项option

function addOption(){
    //根据id查找对象,
    var obj=document.getElementById('mySelect');
    //添加一个选项
    obj.add(new Option("文本","值"));
}

3.删除所有选项option

function removeAll(){
    var obj=document.getElementById('mySelect');
    obj.options.length=0;
}

4.删除一个选项option

function removeOne(){
    var obj=document.getElementById('mySelect');
    //index,要删除选项的序号,这里取当前选中选项的序号
    var index=obj.selectedIndex;
    obj.options.remove(index);
}

5.获得选项option的值

var obj=document.getElementById('mySelect');
var index=obj.selectedIndex; //序号,取当前选中选项的序号
var val = obj.options[index].value;

6.获得选项option的文本

var obj=document.getElementById('mySelect');
var index=obj.selectedIndex; //序号,取当前选中选项的序号
var val = obj.options[index].text;

7.修改选项option

var obj=document.getElementById('mySelect');
var index=obj.selectedIndex; //序号,取当前选中选项的序号
var val = obj.options[index]=new Option("新文本","新值");

8.删除select

function removeSelect(){
    var mySelect = document.getElementById("mySelect");
    mySelect.parentNode.removeChild(mySelect);
}

9.设置select option被选中

function removeSelect(){
    // 向办件人员下拉列表动态添加员工
    for ( var i = 0; i < json.length; i++) {
        var newOption = new Option(json[i].empname, json[i].empid, i);
        //向办件人员下拉列表添加员工信息
        objDeal.options.add(newOption);
        //客户业务员的Id不为空
        if(empbyDealEmpId!="" || empbyDealEmpId!=0){
            //员工id等于下拉列表中的值,则下拉列表被选中
            if(empbyDealEmpId==objDeal.options[i].value){
                //判断此下拉列表被选中
                objDeal.options[i].selected=true;
            }
        }
   }
}

案例:

如何让html里的select无法选择?

假设有一个select,里面有几个option,因为测试需要,要固定成为其中的一个option,不能选择其他,该怎么做呢?如果disabled这个select,结果就是根本没法取到值了。有没其他的方法?readonly,也是不可以的,依旧可以选择。

答案:只放一个option就可以了 或者给option加上disabled="disabled"

<form id="form1" name="form1" method="post" action="">
  <select name="select">
    <option>aa</option>
	<option disabled="disabled">bb</option>
	<option>cc</option>
  </select>
</form>

怎么调整select的宽度?


答案:可以在select标签中加入style样式

<style>.s1{ width: 200px;}</style>
<select class="s1">
  <OPTION>很长很长也能显示</OPTION>
  <OPTION>很长很长也能显示</OPTION>
</select>

html select标签加链接3种方法

html select标签加链接的方法有很多,接下来为大家介绍下几个比较经典的,,感兴趣的朋友可以参考下,希望可以帮助到你。
第一种: 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
    <title>select加链接</title> 
</head> 
<body> 
<SCRIPT language=javascript> 
    <!-- 
    // open the related site windows 
    function mbar(sobj) { 
    var docurl =sobj.options[sobj.selectedIndex].value; 
        if (docurl != "") { 
            open(docurl,'_blank'); 
            sobj.selectedIndex=0; 
            sobj.blur(); 
        } 
    } 
    //--> 
</SCRIPT> 
<Select onchange=mbar(this) name="select"> 
    <OPTION selected>=== 合作伙伴 ===</OPTION> 
    <OPTION value="http://www.baidu.com">百度</OPTION> 
    <OPTION value="http://www.w3cschool.cn">w3cschool在线教程</OPTION> 
    <OPTION value="http://www.w3cschool.cn">优聚</OPTION> 
</Select> 
</body> 
</html> 
第二种
<select name="pageselect" onchange="self.location.href=options[selectedIndex].value" > 
<OPTION value="http://www.baidu.com">百度</OPTION> 
<OPTION value="http://www.w3cschool.cn">w3cschool在线教程</OPTION> 
</select> 
第三种带跳转按钮的
<html>
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>select选择-按钮跳转</title> 
    <script type="text/javascript"> 
        function setsubmit(){ 
            if(mylink.value == 0) 
                window.location='http://www.baidu.com'; 
            if(mylink.value == 1) 
                window.location='http://www.w3cschool.cn'; 
            if(mylink.value == 2) 
                window.location='http://www.w3cschool.cn'; 
        } 
    </script> 
</head> 
<body> 
    <select name="mylink" id="mylink"> 
        <OPTION value="0">百度</OPTION> 
        <OPTION value="1">w3cschool在线教程</OPTION> 
        <OPTION value="2">优聚</OPTION> 
    </select> 
    <input type="button" id="btn" value="提交" onclick="setsubmit(this)" /> 
</body> 
</html> 

扩展知识

select 还可以作为SQL(结构化查询语言)中的查询语句使用,SELECT语句返回用指定的条件在一个数据库中查询的结果,其返回的结果被看作记录的集合。关于 SQL 的知识,您可以参考本站的完整的《SQL教程》


HTML <section> 标签
HTML <small> 标签
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

HTML标签

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }