最簡單js代碼實現(xiàn)select二級聯(lián)動下拉菜單

字號:


    這個是簡單也是最基本的下拉框聯(lián)動的示例,這個示例主要針對那些只有二級聯(lián)動,且第一級是固定的選項,第二級的內(nèi)容也比較簡單,不刷新的聯(lián)動,感興趣的小伙伴們可以參考一下
    本文實例為大家分享了js實現(xiàn)select二級聯(lián)動下拉菜單,供大家參考,具體內(nèi)容如下
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <HTML>
     <HEAD>
     <TITLE> New Document </TITLE>
     <META NAME="Generator" CONTENT="EditPlus">
     <META NAME="Author" CONTENT="">
     <META NAME="Keywords" CONTENT="">
     <META NAME="Description" CONTENT="">
     <script language="JavaScript" type="text/javascript">
       //定義了城市的二維數(shù)組,里面的順序跟省份的順序是相同的。通過selectedIndex獲得省份的下標值來得到相應(yīng)的城市數(shù)組
       var city=[
       ["北京","天津","上海","重慶"],
       ["南京","蘇州","南通","常州"],
       ["福州","福安","龍巖","南平"],
       ["廣州","潮陽","潮州","澄海"],
       ["蘭州","白銀","定西","敦煌"]
       ];
       function getCity(){
         //獲得省份下拉框的對象
         var sltProvince=document.form1.province;
         //獲得城市下拉框的對象
         var sltCity=document.form1.city;     
         //得到對應(yīng)省份的城市數(shù)組
         var provinceCity=city[sltProvince.selectedIndex - 1];
         //清空城市下拉框,僅留提示選項
         sltCity.length=1;
         //將城市數(shù)組中的值填充到城市下拉框中
         for(var i=0;i<provinceCity.length;i++){
           sltCity[i+1]=new Option(provinceCity[i],provinceCity[i]);
         }
       }
     </script>
     </HEAD>
     <BODY>
     <FORM METHOD=POST ACTION="" name="form1">
         <SELECT NAME="province" onChange="getCity()">
           <OPTION VALUE="0">請選擇所在省份 </OPTION>
           <OPTION VALUE="直轄市">直轄市 </OPTION>
           <OPTION VALUE="江蘇省">江蘇省 </OPTION>
           <OPTION VALUE="福建省">福建省 </OPTION>
           <OPTION VALUE="廣東省">廣東省 </OPTION>
           <OPTION VALUE="甘肅省">甘肅省 </OPTION>
         </SELECT>
         <SELECT NAME="city">
           <OPTION VALUE="0">請選擇所在城市 </OPTION>
         </SELECT>
       </FORM>
     </BODY>
    </HTML>
    這段代碼比較簡單。
    如果對js不大熟悉,可以看看下面關(guān)于js處理select對象的內(nèi)容:
    1、使用selectedIndex屬性獲取當前選項的索引
    下拉框的選項是一個線性數(shù)組,每個選項都有一個索引,selectedIndex表示當前被選中的選項的索引號。結(jié)合options屬性,可以得到被選中的option對象,從而對其做進一步的處理。當下拉框可多選時,selectedIndex屬性返回第一個被選中的索引。
    selectedIndex是個只讀的屬性,想把通過索引指定的下拉框的項設(shè)置為選中狀態(tài),可以設(shè)置option對象的selected=true來實現(xiàn)。
    2、為select對象添加一個選項
    sltCity[i+1]=new Option(provinceCity[i],provinceCity[i]);
    new Option(provinceCity[i],provinceCity[i])表示創(chuàng)建一個值為provinceCity[i],文本為provinceCity[i]的option對象,sltCity是頁面上的city對象,i+1指定新添選項的位置。
    3、清空一個select對象
    要將下拉框的所有選項刪除有兩種方法,
    第一種方法就是遍歷刪除:
    var l=myselect.length;
    for(var i=0;i<l;i++){
    myselect.options[i]=null;
    }
    第二種方法比較簡單,因此一般都使用此方法:
    myselect.length=0;