国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

js實現省級聯動(數據結構優化)

瀏覽:95日期:2024-04-29 16:54:44

本文實例為大家分享了js實現省級聯動的具體代碼,供大家參考,具體內容如下

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <title>Document</title> <style> div{ width: 200px; float: left; margin-left: 20px; } select{ width: 200px; } </style></head><body> <div> <select name='province'> <option value=''>---請選擇省---</option> </select> </div> <div> <select name='city'> <option value=''>---請選擇城市---</option> </select> </div></body><script> //準備數據--- let data = [ { p_name:'浙江省', p_id:1, citys:[ { c_name:'杭州市', c_id:100 }, { c_name:'溫州市', c_id:101 }, { c_name:'寧波市', c_id:102 }, { c_name:'嘉興市', c_id:103 }, { c_name:'湖州市', c_id:104 }, { c_name:'紹興市', c_id:105 }, { c_name:'金華市', c_id:106 }, ] }, { p_name:'湖北省', p_id:2, citys:[ { c_name:'武漢市', c_id:200 }, { c_name:'黃石市', c_id:201 }, { c_name:'十堰市', c_id:202 }, { c_name:'襄陽市', c_id:204 }, { c_name:'荊州市', c_id:205 }, { c_name:'黃岡市', c_id:206 }, ] }, { p_name:'山東省', p_id:3, citys:[ { c_name:'濟南市', c_id:300 }, { c_name:'青島市', c_id:301 }, { c_name:'淄博市', c_id:302 }, { c_name:'棗莊市', c_id:303 }, { c_name:'煙臺市', c_id:304 }, { c_name:'日照市', c_id:305 }, ] } ]; // 加載所有的省份信息到一級的下拉列表中 let province = document.getElementById('province'); data.forEach((e,i)=>{ province.innerHTML += ’<option value='’+e.p_id+’'>’+e.p_name+’</option>’ }); //給一級下拉列表綁定onchange事件 province.onchange = function(){ // this.value;//選擇的省的id // alert(this.value); //根據省的id去找該省對應的市的信息 data.forEach((e,i)=>{ if(e.p_id == this.value){ let citys = e.citys; //將所有的市的信息填充到二級的下拉列表 let city = document.getElementById('city'); //把之前的所有選項清掉 city.innerHTML = ’<option value=''>---請選擇城市---</option>’ citys.forEach((ele,idx)=>{ //ele.c_name;//市的名稱 // ele.c_id;//市的id city.innerHTML += ’<option value='’+ele.c_id+’'>’+ele.c_name+’</option>’ }); } }); }</script></html>

具體實現如下,發現城市數據存的很深,要通過省來查找城市會比較麻煩,而且循環遍歷的是指數級的占內存,通過下面數據結構的優化,相對而言,查詢會更容易實現大概的思路是通過map集合,key找value的思路存入的時候省,單獨放。城市的key等于省的p_id,因為有了標識,這樣就很容易相互查詢了

//準備數據--- <!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <title>快速入門</title></head><body> <div> <select name='province'> <option value=''>---請選擇省---</option> </select> </div> <div> <select name='city' > <option value=''>---請選擇城市---</option> </select> </div></body><script src='http://www.cgvv.com.cn/bcjs/js/jquery-3.3.1.min.js'></script><script> let data = [ { p_name:'浙江省', p_id:1, }, { p_name:'湖北省', p_id:2, }, ]; let city={1:[ { c_name:'杭州市', c_id:100 }, { c_name:'溫州市', c_id:101 }, { c_name:'寧波市', c_id:102 }, { c_name:'嘉興市', c_id:103 }, { c_name:'湖州市', c_id:104 }, { c_name:'紹興市', c_id:105 }, { c_name:'金華市', c_id:106 }, ], 2:[ { c_name:'武漢市', c_id:200 }, { c_name:'黃石市', c_id:201 }, { c_name:'十堰市', c_id:202 }, { c_name:'襄陽市', c_id:204 }, { c_name:'荊州市', c_id:205 }, { c_name:'黃岡市', c_id:206 }, ] } data.forEach((e,i)=>{ $('#province').append(’<option value='’+e.p_id+’'>’+e.p_name+’</option>’) }) $('#province').change(function(){ $('#city').empty(); let num= this.value; city[num].forEach((e,i)=>{ $('#city').append(’<option value='’+e.c_id+’'>’+e.c_name+’</option>’) }) }) </script></html>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 91久久精品国产91久久性色tv | 一区二区三区久久精品 | 亚洲天堂久久精品成人 | 美女一级毛片毛片在线播放 | 91小视频在线观看免费版高清 | 成人欧美一区在线视频在线观看 | 日韩不卡一级毛片免费 | 男人天堂成人 | 成人福利在线 | 中文字幕国产专区 | 99秒拍福利大尺度视频 | 国产精品免费_区二区三区观看 | 91成人软件 | 亚洲在线不卡 | 国内精品伊人久久久久妇 | 国内精品国语自产拍在线观看55 | mm在线精品视频 | 国产精品九九免费视频 | 91久国产在线观看 | 欧美午夜成年片在线观看 | 萌白酱粉嫩jk福利视频在线观看 | 免费 欧美 自拍 在线观看 | 人成在线免费视频 | 在线网站黄色 | 看真人视频一级毛片 | 国产欧美日韩视频在线观看 | 99精品视频在线播放2 | 日韩区在线观看 | 成人公开视频 | 日韩乱码中文字幕视频 | chinese性老妇中国 | 亚洲国产成人久久精品影视 | 扒开双腿猛进入喷水免费视频 | 一区二区三区日韩精品 | 精品国产一区二区三区国产馆 | 国产情侣久久精品 | 在线视频99| 亚洲精品视频在线观看视频 | 国产精品久久久久久久久久免费 | 国产在线观看网址你懂得 | 在线观看精品国内福利视频 |