JS實現下拉列表的二級聯動

這個是簡單也是最基本的下拉框聯動的示例,這個示例主要針對那些只有二級聯動,且第一級是固定的選項,第二級的內容也比較簡單,不刷新的聯動,動態的聯動須要檢索數據庫,這個對不須要更新的二級聯動比較實用。這裏使用了javascript來聯動第二級下拉框。javascript

 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>java

<%數據庫

String path = request.getContextPath();數組

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";spa

%>orm


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">對象

<HTML>索引

 <HEAD>ip

 <TITLE> New Document </TITLE>ci

 <META NAME="Generator" CONTENT="EditPlus">

 <META NAME="Author" CONTENT="">

 <META NAME="Keywords" CONTENT="">

 <META NAME="Description" CONTENT="">

 <script language="JavaScript" type="text/javascript">

   //定義了城市的二維數組,裏面的順序跟省份的順序是相同的。經過selectedIndex得到省份的下標值來獲得相應的城市數組

   var city=[

   ["北京","天津","上海","重慶"],

   ["南京","蘇州","南通","常州"],

   ["福州","福安","龍巖","南平"],

   ["廣州","潮陽","潮州","澄海"],

   ["蘭州","白銀","定西","敦煌"]

   ];


   function getCity(){

     //得到省份下拉框的對象

     var sltProvince=document.form1.province;

     //得到城市下拉框的對象

     var sltCity=document.form1.city;      

     //獲得對應省份的城市數組

     var provinceCity=city[sltProvince.selectedIndex - 1];

 

     //清空城市下拉框,僅留提示選項

     sltCity.length=1;

 

     //將城市數組中的值填充到城市下拉框中

     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不大熟悉,能夠看看下面關於js處理select對象的內容:

一、使用selectedIndex屬性獲取當前選項的索引
下拉框的選項是一個線性數組,每一個選項都有一個索引,selectedIndex表示當前被選中的選項的索引號。結合options屬性,能夠獲得被選中 的option對象,從而對其作進一步的處理。當下拉框可多選時,selectedIndex屬性返回第一個被選中的索引。
selectedIndex是個只讀的屬性,想把經過索引指定的下拉框的項設置爲選中狀態,能夠設置option對象的selected=true來實現。

二、爲select對象添加一個選項
sltCity[i+1]=newOption(provinceCity[i],provinceCity[i]);
newOption(provinceCity[i],provinceCity[i])表示建立一個值爲provinceCity[i],文本爲provinceCity[i]的option對象,sltCity是頁面上的city對象,i+1指定新添選項的位置。

三、清空一個select對象
要將下拉框的全部選項刪除有兩種方法,
第一種方法就是遍歷刪除:

1var l=myselect.length;
2 for(var i=0;i<l;i++){
3myselect.options[i]=null;
4 }


第二種方法比較簡單,所以通常都使用此方法:

myselect.length=0;

相關文章
相關標籤/搜索