今天剛好做了以下表單驗證,發現網上比較基礎的三級聯動教程並不多,所以我出此以本。
效果如圖:
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不是重點就不給出了,如有疑問可以在下方評論......