基于jQuery+JSON的省市联动效果

省市区联动下拉效果在WEB中应用非常广泛,尤其在一些会员信息系统、电商网站最为常见。开发者一般使用Ajax实现无刷新下拉联动。本文将讲述,利用jQuery插件,通过读取JSON数据,实现无刷新动态下拉省市二(三)级联动效果。

HTML

首先在head中载入jquery库和cityselect插件。

  1. <script type="text/javascript" src="js/jquery.js"></script> 
  2. <script type="text/javascript" src="js/jquery.cityselect.js"></script> 

接下来,我们在#city中,放置三个select,并且三个select分别设置class属性为:prov、city、dist,分别表示省、市、区(县)三个下拉框。注意如果只想实现省市二级联动,则去掉第三个dist的select即可。

  1. <div id="city"> 
  2.     <select class="prov"></select>  
  3.     <select class="city" disabled="disabled"></select> 
  4.     <select class="dist" disabled="disabled"></select> 
  5. </div> 

jQuery

调用cityselect插件非常简单,直接调用:

  1. $("#city").citySelect();  

自定义参数调用,设置默认省市区。

  1. $("#city").citySelect({  
  2.     url:"js/city.min.js",  
  3.     prov:"湖南"//省份 
  4.     city:"长沙"//城市 
  5.     dist:"岳麓区"//区县 
  6.     nodata:"none" //当子集无数据时,隐藏select 
  7. });  

当然,你还可以扩展,自定义下拉列表选项数据,你可以根据需要设置下拉内容,注意数据格式一定要为JSON格式。

  1. $("#city").citySelect({ 
  2.     url:{"citylist":[ 
  3.         {"p":"前端技术","c":[{"n":"HTML"},{"n":"CSS","a":[{"s":"CSS2.0"},{"s":"CSS3.0"}]}, 
  4.         {"n":"JAVASCIPT"}]}, 
  5.         {"p":"编程语言","c":[{"n":"C"},{"n":"C++"},{"n":"PHP"},{"n":"JAVA"}]}, 
  6.         {"p":"数据库","c":[{"n":"Mysql"},{"n":"SqlServer"},{"n":"Oracle"}]}, 
  7.     ]}, 
  8.     prov:""
  9.     city:""
  10.     dist:""
  11.     nodata:"none" 
  12. }); 

你还可以利用PHP等后台语言将数据库中的数据转换成JSON格式,然后使用url参数指向后台地址也能实现无刷新联动效果。

  1. $("#city").citySelect({ 
  2.     url:"data.php" 
  3. }); 

更多示例效果请看演示

转载请注明:代码家园 » 基于jQuery+JSON的省市联动效果

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)