JS 實現下拉框 省市區三級聯動


今天剛好做了以下表單驗證,發現網上比較基礎的三級聯動教程並不多,所以我出此以本。

效果如圖:

 

HTML代碼如下:

 1             <select name="province" onchange="getCity()">
 2                         <option value="0">所在省</option>
 3                         <option value="直轄市">直轄市</option>
 4                         <option value="廣東省">廣東省</option>
 5                         <option value="江蘇省">江蘇省</option>
 6                         <option value="福建省">福建省</option>    
 7                     </select>
 8                     <select name="city" onchange="getDistrict()">
 9                         <option value="0">所在市</option>
10                     </select>
11                     <select class="clear-Mar" name="district">
12                         <option value="0">所在區</option>
13                     </select>

 

JS代碼如下:

 1 var city=[
 2    ["北京市","天津市","上海市","重慶市"],
 3    ["廣州市","深圳市","珠海市","東莞市"],
 4    ["南京市","蘇州市","南通市","常州市"],
 5    ["福州市","廈門市","莆田市","泉州市"]
 6    ];
 7 var district=[
 8     [
 9         ["東城區","西城區","宣武區"],["和平區","紅橋區","塘沽區"],["楊浦區","徐匯區"],["萬州區","涪陵區"]
10     ],
11     [
12         ["天河區","海珠區","白雲區","番禺區"],["南山區","寶安區","福田區"],["香洲區","斗門區","金灣區"],["東城區","莞城區","萬江區"]
13     ],
14     [
15         ['玄武區','白下區','秦淮區','建鄴區'],['滄浪區','平江區','金閶區','虎丘區'],['崇川區','港閘區','海安縣','如東縣'],['天寧區','鍾樓區','新北區']
16     ],
17     [
18         ['鼓樓區','台江區','倉山區','馬尾區'],['思明區','海滄區','湖里區','集美區'],['城廂區','涵江區','荔城區','秀嶼區'],['鯉城區','豐澤區','洛江區','泉港區']
19     ]
20 ];
21 function getCity(){
22     //獲得省份下拉框的對象
23     var sltProvince=document.forms[0].province;
24     //獲得城市下拉框的對象
25     var sltCity=document.forms[0].city;     
26     //獲得市區下拉框的對象
27     var sltDistrict=document.forms[0].district;
28     //得到對應省份的城市數組
29     var provinceCity=city[sltProvince.selectedIndex - 1];  
30     //清空城市下拉框,僅留提示選項
31     sltCity.length=1;
32       sltDistrict.length=1;
33     //將城市數組中的值填充到城市下拉框中
34     for(var i=0;i<provinceCity.length;i++){
35        sltCity[i+1]=new Option(provinceCity[i],provinceCity[i]);
36     }
37 }
38 function getDistrict() {
39     var sltProvince=document.forms[0].province;
40      //獲得城市下拉框的對象
41     var sltCity=document.forms[0].city;     
42     //獲得市區下拉框的對象
43     var sltDistrict=document.forms[0].district;
44     //得到對應城市的市區數組
45     var cityDistrict=district[sltProvince.selectedIndex - 1][sltCity.selectedIndex - 1];
46     //清空城市下拉框,僅留提示選項
47     sltDistrict.length=1;
48     //將市區數組中的值填充到市區下拉框中
49     for(var i=0;i<cityDistrict.length;i++){
50        sltDistrict[i+1]=new Option(cityDistrict[i],cityDistrict[i]);
51     }
52 }

 

CSS不是重點就不給出了,如有疑問可以在下方評論......

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM