超詳細(xì)的HTML <select> 標(biāo)簽用法及技巧介紹

2022-06-01 15:52 更新

<select> 元素用來創(chuàng)建下拉列表。

<select> 元素中的 <option> 標(biāo)簽定義了列表中的可用選項(xiàng)。

select 元素可創(chuàng)建單選或多選菜單。當(dāng)提交表單時(shí),瀏覽器會(huì)提交選定的項(xiàng)目,或者收集用逗號(hào)分隔的多個(gè)選項(xiàng),將其合成一個(gè)單獨(dú)的參數(shù)列表,并且在將 <select> 表單數(shù)據(jù)提交給服務(wù)器時(shí)包括 name 屬性。

提示和注釋

提示:<select> 元素是一種表單控件,可用于在表單中接受用戶輸入。


HTML 4.01 與 HTML5之間的差異

HTML5 增加了一些新的屬性。

實(shí)例

創(chuàng)建帶有 4 個(gè)選項(xiàng)的選擇列表:

<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> 標(biāo)簽。


屬性

New :HTML5 中的新屬性。

屬性 描述
autofocusNew autofocus 規(guī)定在頁面加載時(shí)下拉列表自動(dòng)獲得焦點(diǎn)。
disabled disabled 當(dāng)該屬性為 true 時(shí),會(huì)禁用下拉列表。
formNew form_id 定義 select 字段所屬的一個(gè)或多個(gè)表單。
multiple multiple 當(dāng)該屬性為 true 時(shí),可選擇多個(gè)選項(xiàng)。
name name 定義下拉列表的名稱。
requiredNew required 規(guī)定用戶在提交表單前必須選擇一個(gè)下拉列表中的選項(xiàng)。
size number 規(guī)定下拉列表中可見選項(xiàng)的數(shù)目。


全局屬性

<select> 標(biāo)簽支持 HTML 的全局屬性。


事件屬性

<select> 標(biāo)簽支持 HTML 的事件屬性


相關(guān)文章

HTML DOM 參考手冊(cè): Select 對(duì)象

<select>標(biāo)簽的使用技巧總結(jié)

1.動(dòng)態(tài)創(chuàng)建select

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

2.添加選項(xiàng)option

function addOption(){
    //根據(jù)id查找對(duì)象,
    var obj=document.getElementById('mySelect');
    //添加一個(gè)選項(xiàng)
    obj.add(new Option("文本","值"));
}

3.刪除所有選項(xiàng)option

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

4.刪除一個(gè)選項(xiàng)option

function removeOne(){
    var obj=document.getElementById('mySelect');
    //index,要?jiǎng)h除選項(xiàng)的序號(hào),這里取當(dāng)前選中選項(xiàng)的序號(hào)
    var index=obj.selectedIndex;
    obj.options.remove(index);
}

5.獲得選項(xiàng)option的值

var obj=document.getElementById('mySelect');
var index=obj.selectedIndex; //序號(hào),取當(dāng)前選中選項(xiàng)的序號(hào)
var val = obj.options[index].value;

6.獲得選項(xiàng)option的文本

var obj=document.getElementById('mySelect');
var index=obj.selectedIndex; //序號(hào),取當(dāng)前選中選項(xiàng)的序號(hào)
var val = obj.options[index].text;

7.修改選項(xiàng)option

var obj=document.getElementById('mySelect');
var index=obj.selectedIndex; //序號(hào),取當(dāng)前選中選項(xiàng)的序號(hào)
var val = obj.options[index]=new Option("新文本","新值");

8.刪除select

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

9.設(shè)置select option被選中

function removeSelect(){
    // 向辦件人員下拉列表動(dòng)態(tài)添加員工
    for ( var i = 0; i < json.length; i++) {
        var newOption = new Option(json[i].empname, json[i].empid, i);
        //向辦件人員下拉列表添加員工信息
        objDeal.options.add(newOption);
        //客戶業(yè)務(wù)員的Id不為空
        if(empbyDealEmpId!="" || empbyDealEmpId!=0){
            //員工id等于下拉列表中的值,則下拉列表被選中
            if(empbyDealEmpId==objDeal.options[i].value){
                //判斷此下拉列表被選中
                objDeal.options[i].selected=true;
            }
        }
   }
}

案例:

如何讓html里的select無法選擇?

假設(shè)有一個(gè)select,里面有幾個(gè)option,因?yàn)闇y(cè)試需要,要固定成為其中的一個(gè)option,不能選擇其他,該怎么做呢?如果disabled這個(gè)select,結(jié)果就是根本沒法取到值了。有沒其他的方法?readonly,也是不可以的,依舊可以選擇。

答案:只放一個(gè)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>

怎么調(diào)整select的寬度?


答案:可以在select標(biāo)簽中加入style樣式

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

html select標(biāo)簽加鏈接3種方法

html select標(biāo)簽加鏈接的方法有很多,接下來為大家介紹下幾個(gè)比較經(jīng)典的,,感興趣的朋友可以參考下,希望可以幫助到你。
第一種: 
<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://m.hgci.cn">w3cschool在線教程</OPTION> 
    <OPTION value="http://m.hgci.cn">優(yōu)聚</OPTION> 
</Select> 
</body> 
</html> 
第二種
<select name="pageselect" onchange="self.location.href=options[selectedIndex].value" > 
<OPTION value="http://www.baidu.com">百度</OPTION> 
<OPTION value="http://m.hgci.cn">w3cschool在線教程</OPTION> 
</select> 
第三種帶跳轉(zhuǎn)按鈕的
<html>
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>select選擇-按鈕跳轉(zhuǎn)</title> 
    <script type="text/javascript"> 
        function setsubmit(){ 
            if(mylink.value == 0) 
                window.location='http://www.baidu.com'; 
            if(mylink.value == 1) 
                window.location='http://m.hgci.cn'; 
            if(mylink.value == 2) 
                window.location='http://m.hgci.cn'; 
        } 
    </script> 
</head> 
<body> 
    <select name="mylink" id="mylink"> 
        <OPTION value="0">百度</OPTION> 
        <OPTION value="1">w3cschool在線教程</OPTION> 
        <OPTION value="2">優(yōu)聚</OPTION> 
    </select> 
    <input type="button" id="btn" value="提交" onclick="setsubmit(this)" /> 
</body> 
</html> 

擴(kuò)展知識(shí)

select 還可以作為SQL(結(jié)構(gòu)化查詢語言)中的查詢語句使用,SELECT語句返回用指定的條件在一個(gè)數(shù)據(jù)庫中查詢的結(jié)果,其返回的結(jié)果被看作記錄的集合。關(guān)于 SQL 的知識(shí),您可以參考本站的完整的《SQL教程》!


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)