国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

原生JavaScript實(shí)現(xiàn)動(dòng)態(tài)省市縣三級(jí)聯(lián)動(dòng)下拉框菜單實(shí)例代碼

2019-11-20 10:37:10
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

像平時(shí)購(gòu)物選擇地址時(shí)一樣,通過(guò)選擇的省動(dòng)態(tài)加載城市列表,通過(guò)選擇的城市動(dòng)態(tài)加載縣區(qū)列表,從而可以實(shí)現(xiàn)省市縣的三級(jí)聯(lián)動(dòng),下面使用原生的JavaScript來(lái)實(shí)現(xiàn)這個(gè)功能:

先給大家展示下測(cè)試結(jié)果:

未做任何選擇時(shí):

選擇時(shí):

代碼如下所示:

<!DOCTYPE html><html><head lang="en"><meta charset="UTF-8"><title>三級(jí)聯(lián)動(dòng)測(cè)試</title><script src="jquery-2.1.4.min.js"></script><script type="text/javascript">//用來(lái)獲得option元素中selected屬性為true的元素的idfunction Get_Selected_Id(place){var pro = document.getElementById(place);var Selected_Id = pro.options[pro.selectedIndex].id;return Selected_Id; //返回selected屬性為true的元素的id}//改變下一個(gè)級(jí)聯(lián)的option元素的內(nèi)容,即加載市或縣function Get_Next_Place(This_Place_ID,Action){var Selected_Id = Get_Selected_Id(This_Place_ID); //Selected_Id用來(lái)記錄當(dāng)前被選中的省或市的IDif(Action=='Get_city') //從而可以在下一個(gè)級(jí)聯(lián)中加載相應(yīng)的市或縣Add_city(Selected_Id);else if(Action=='Get_country')Add_country(Selected_Id);}//用來(lái)存儲(chǔ)省市區(qū)的數(shù)據(jù)結(jié)構(gòu)var Place_dict = {"GuangDong":{"GuangZhou":["PanYu","HuangPu","TianHe"],"QingYuan":["QingCheng","YingDe","LianShan"],"FoShan":["NanHai","ShunDe","SanShui"]},"ShanDong":{"JiNan":["LiXia","ShiZhong","TianQiao"],"QingDao":["ShiNan","HuangDao","JiaoZhou"]},"HuNan":{"ChangSha":["KaiFu","YuHua","WangCheng"],"ChenZhou":["BeiHu","SuXian","YongXian"]}};//加載城市選項(xiàng)function Add_city(Province_Selected_Id){$("#city").empty();$("#city").append("<option>City</option>");$("#country").empty();$("#country").append("<option>Country</option>");//上面的兩次清空與兩次添加是為了保持級(jí)聯(lián)的一致性var province_dict = Place_dict[Province_Selected_Id]; //獲得一個(gè)省的字典for(city in province_dict){ //取得省的字典中的城市//添加內(nèi)容的同時(shí)在option標(biāo)簽中添加對(duì)應(yīng)的城市IDvar text = "<option"+" id='"+city+"'>"+city+"</option>";$("#city").append(text);console.log(text); //用來(lái)觀察生成的text數(shù)據(jù)}}//加載縣區(qū)選項(xiàng)function Add_country(City_Selected_Id){$("#country").empty();$("#country").append("<option>Country</option>");//上面的清空與添加是為了保持級(jí)聯(lián)的一致性var Province_Selected_ID = Get_Selected_Id("province"); //獲得被選中省的ID,從而方便在字典中加載數(shù)據(jù)var country_list = Place_dict[Province_Selected_ID][City_Selected_Id]; //獲得城市列表for(index in country_list){////添加內(nèi)容的同時(shí)在option標(biāo)簽中添加對(duì)應(yīng)的縣區(qū)IDvar text = "<option"+" id=/'"+country_list[index]+"/'>"+country_list[index]+"</option>";$("#country").append(text);console.log(text); //用來(lái)觀察生成的text數(shù)據(jù)}}</script></head><body><p>您的收貨地址:</p><select id="province" onchange="Get_Next_Place('province','Get_city')"><option id="Not_data1">Province</option><option id="GuangDong" value="GuangDong">GuangDong</option><option id="ShanDong" value="ShanDong">ShanDong</option><option id="HuNan" value="HuNan">HuNan</option></select><select id="city" onchange="Get_Next_Place('city','Get_country')"><option id="Not_data2">City</option></select><select id="country"><option id="Not_data3">Country</option></select><br/></body></html>

當(dāng)然,省市縣三者都是動(dòng)態(tài)聯(lián)動(dòng)的,只要頂級(jí)的內(nèi)容發(fā)生改變,所有子級(jí)的內(nèi)容也會(huì)發(fā)生改變或被重置為City或Country.

以上所述是小編給大家分享的原生JavaScript實(shí)現(xiàn)動(dòng)態(tài)省市縣三級(jí)聯(lián)動(dòng)下拉框菜單實(shí)例代碼,希望對(duì)大家有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 黄陵县| 泗阳县| 鹰潭市| 临邑县| 临高县| 封丘县| 无棣县| 建昌县| 石嘴山市| 广昌县| 永德县| 绵竹市| 甘洛县| 三河市| 曲沃县| 清徐县| 昆明市| 岳西县| 土默特左旗| 大余县| 安吉县| 武清区| 达拉特旗| 桃源县| 泊头市| 泉州市| 上杭县| 桑日县| 凤山县| 札达县| 阳西县| 连州市| 明光市| 丹寨县| 民乐县| 葫芦岛市| 韩城市| 龙里县| 伽师县| 沈阳市| 鄂尔多斯市|