1.省改變,市改變,并初始化縣
2.市改變,縣改變
html代碼
<select id="sheng"> <option value="">--請選擇--</option> <option value="0">北京市</option> <option value="1">河北省</option> <option value="2">山西省</option> <option value="3">內(nèi)蒙古自治區(qū)</option> </select> <select id="shi"> <option value="">--請選擇--</option> </select> <select id="xian"> <option value="">--請選擇--</option> </select>
主要步驟
1.獲取元素對象
var sheng = document.getElementById('sheng'); var shi = document.getElementById('shi'); var xian = document.getElementById('xian');
2.定義市和縣的數(shù)組
var city = [ ['昌平區(qū)', '海淀區(qū)', '朝陽區(qū)', '東城區(qū)'], ['石家莊市', '保定市', '張家口市', '唐山市'], ['太原市', '大同市', '運城市', '臨汾市'], ['呼和浩特市', '包頭市', '鄂爾多斯市', '赤峰市'] ]; var xians = [ [ ['北七家','回龍觀','霍營'], ['中關(guān)村','蘇州街','西二旗'], ['朝陽1','朝陽2','朝陽3'], ['東城1','東城2','東城3'], ], [ ['新華區(qū)','橋東區(qū)','橋西區(qū)'], ['高碑店','白溝','定興'], ] ];
3.定義全局變量
var index = null;
4.實現(xiàn)省份改變,市跟著變化的效果
sheng.onchange = function() { xian.innerHTML = '<option value="">--請選擇--</option>';// 初始化xian index = this.value; // 獲取option的值 var result = city[index];//根據(jù)index去city數(shù)組中獲取對應(yīng)的shi // 將獲取的結(jié)果顯示在select#shi中,循環(huán)result數(shù)組中的"每一個值",在值的兩側(cè)加上option標(biāo)簽 var str = '<option value="">--請選擇--</option>'; for (var i = 0; i < result.length; i++) { // 將所有的拼接好的市再次拼接為一個整體 str += '<option value="'+i+'">' + result[i] + '</option>'; } shi.innerHTML = str;//將字符串寫入到select#shi中 }
5.實現(xiàn)市改變,獲取縣城的效果
shi.onchange = function(){ var value = this.value; // 獲取當(dāng)前的value值 var county = xians[index][value]; // 根據(jù)市獲取市對應(yīng)的縣 var str = '<option value="">--請選擇--</option>'; for (var i = 0; i < county.length; i++) { str += '<option value="'+i+'">' + county[i] + '</option>'; } xian.innerHTML = str;//將數(shù)據(jù)寫入到select#xian中 }