省市區(qū)聯(lián)動(dòng)下拉效果在WEB中應(yīng)用非常廣泛,尤其在一些會(huì)員信息系統(tǒng)、電商網(wǎng)站最為常見。開發(fā)者一般使用Ajax實(shí)現(xiàn)無刷新下拉聯(lián)動(dòng)。本文將講述,利用jQuery插件,通過讀取JSON數(shù)據(jù),實(shí)現(xiàn)無刷新動(dòng)態(tài)下拉省市二(三)級(jí)聯(lián)動(dòng)效果。

HTML
首先在head中載入jquery庫和cityselect插件。
<script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/jquery.cityselect.js"></script>
接下來,我們?cè)?city中,放置三個(gè)select,并且三個(gè)select分別設(shè)置class屬性為:prov、city、dist,分別表示省、市、區(qū)(縣)三個(gè)下拉框。注意如果只想實(shí)現(xiàn)省市二級(jí)聯(lián)動(dòng),則去掉第三個(gè)dist的select即可。
<div id="city"> <select class="prov"></select> <select class="city" disabled="disabled"></select> <select class="dist" disabled="disabled"></select> </div>
jQuery
調(diào)用cityselect插件非常簡(jiǎn)單,直接調(diào)用:
$("#city").citySelect();
自定義參數(shù)調(diào)用,設(shè)置默認(rèn)省市區(qū)。
$("#city").citySelect({ url:"js/city.min.js", prov:"湖南", //省份 city:"長(zhǎng)沙", //城市 dist:"岳麓區(qū)", //區(qū)縣 nodata:"none" //當(dāng)子集無數(shù)據(jù)時(shí),隱藏select });
當(dāng)然,你還可以擴(kuò)展,自定義下拉列表選項(xiàng)數(shù)據(jù),你可以根據(jù)需要設(shè)置下拉內(nèi)容,注意數(shù)據(jù)格式一定要為JSON格式。
$("#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等后臺(tái)語言將數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)換成JSON格式,然后使用url參數(shù)指向后臺(tái)地址也能實(shí)現(xiàn)無刷新聯(lián)動(dòng)效果。
$("#city").citySelect({ url:"data.php" });
更多示例效果請(qǐng)看demo,插件源碼下載(含最新省市區(qū)數(shù)據(jù))
|