省市區(qū)聯(lián)動下拉效果在WEB中應(yīng)用非常廣泛,尤其在一些會員信息系統(tǒng)、電商網(wǎng)站最為常見。開發(fā)者一般使用Ajax實(shí)現(xiàn)無刷新下拉聯(lián)動。本文將講述,利用jQuery插件,通過讀取JSON數(shù)據(jù),實(shí)現(xiàn)無刷新動態(tài)下拉省市二(三)級聯(lián)動效果。
創(chuàng)新互聯(lián)建站長期為1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為金鳳企業(yè)提供專業(yè)的網(wǎng)站制作、做網(wǎng)站,金鳳網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
HTML
首先在head中載入jquery庫和cityselect插件。
1 2 | < script type = "text/javascript" src = "js/jquery.js" > script > < script type = "text/javascript" src = "js/jquery.cityselect.js" > script > |
接下來,我們在#city中,放置三個select,并且三個select分別設(shè)置class屬性為:prov、city、dist,分別表示省、市、區(qū)(縣)三個下拉框。注意如果只想實(shí)現(xiàn)省市二級聯(lián)動,則去掉第三個dist的select即可。
1 2 3 4 5 | < div id = "city" >
< select class = "prov" > select >
< select class = "city" disabled = "disabled" > select >
< select class = "dist" disabled = "disabled" > select >
div > |
jQuery
調(diào)用cityselect插件非常簡單,直接調(diào)用:
1 | $( "#city" ).citySelect(); |
自定義參數(shù)調(diào)用,設(shè)置默認(rèn)省市區(qū)。
1 2 3 4 5 6 7 | $( "#city" ).citySelect({
url: "js/city.min.js" ,
prov: "湖南" , //省份
city: "長沙" , //城市
dist: "岳麓區(qū)" , //區(qū)縣
nodata: "none" //當(dāng)子集無數(shù)據(jù)時,隱藏select }); |
當(dāng)然,你還可以擴(kuò)展,自定義下拉列表選項(xiàng)數(shù)據(jù),你可以根據(jù)需要設(shè)置下拉內(nèi)容,注意數(shù)據(jù)格式一定要為JSON格式。
01 02 03 04 05 06 07 08 09 10 11 12 | $( "#city" ).citySelect({
url:{ "citylist" :[
{ "p" : "前端技術(shù)" , "c" :[{ "n" : "HTML" },{ "n" : "CSS" , "a" :[{ "s" : "CSS2.0" },{ "s" : "CSS3.0" }]},
{ "n" : "JAVASCIPT" }]},
{ "p" : "編程語言" , "c" :[{ "n" : "C" },{ "n" : "C++" },{ "n" : "PHP" },{ "n" : "JAVA" }]},
{ "p" : "數(shù)據(jù)庫" , "c" :[{ "n" : "MySQL" },{ "n" : "SqlServer" },{ "n" : "Oracle" }]},
]},
prov: "" ,
city: "" ,
dist: "" ,
nodata: "none" }); |
你還可以利用PHP等后臺語言將數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)換成JSON格式,然后使用url參數(shù)指向后臺地址也能實(shí)現(xiàn)無刷新聯(lián)動效果。
1 2 3 | $( "#city" ).citySelect({
url: "data.php" }); |
更多示例效果請看demo,插件×××(含最新省市區(qū)數(shù)據(jù))