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


Posted in Javascript onJune 05, 2015

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

HTML

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

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

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

<div id="city"> 
   <select class="prov"></select> 
  <select class="city" disabled="disabled"></select> 
  <select class="dist" disabled="disabled"></select> 
</div>

jQuery

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

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

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

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

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

$("#city").citySelect({ 
  url:{"citylist":[ 
    {"p":"前端技术","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":"数据库","c":[{"n":"Mysql"},{"n":"SqlServer"},{"n":"Oracle"}]}, 
  ]}, 
  prov:"", 
  city:"", 
  dist:"", 
  nodata:"none" 
});

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

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

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
event.srcElement+表格应用
Aug 29 Javascript
JavaScript eval() 函数介绍及应用示例
Jul 29 Javascript
javascript 对象数组根据对象object key的值排序
Mar 09 Javascript
jQuery Validation PlugIn的使用方法详解
Dec 18 Javascript
JavaScript操作HTML DOM节点的基础教程
Mar 11 Javascript
轮播图组件js代码
Aug 08 Javascript
jQuery Checkbox 全选 反选的简单实例
Nov 29 Javascript
Bootstrap CSS组件之按钮组(btn-group)
Dec 17 Javascript
JS 验证码功能的三种实现方式
Nov 26 Javascript
浏览器事件循环与vue nextTicket的实现
Apr 16 Javascript
手把手带你入门微信小程序新框架Kbone的使用
Feb 25 Javascript
vue组件讲解(is属性的用法)模板标签替换操作
Sep 04 Javascript
简介JavaScript中Boolean.toSource()方法的使用
Jun 05 #Javascript
判断访客终端类型集锦
Jun 05 #Javascript
JavaScript中constructor()方法的使用简介
Jun 05 #Javascript
JavaScript中的原型prototype属性使用详解
Jun 05 #Javascript
HTML5使用DeviceOrientation实现摇一摇功能
Jun 05 #Javascript
简介JavaScript中POSITIVE_INFINITY值的使用
Jun 05 #Javascript
JavaScript中Number.NEGATIVE_INFINITY值的使用详解
Jun 05 #Javascript
You might like
php trim 去除空字符的定义与语法介绍
2010/05/31 PHP
PHP循环遍历数组的3种方法list()、each()和while总结
2014/11/19 PHP
推荐几个开源的微信开发项目
2014/12/28 PHP
PHP计算百度地图两个GPS坐标之间距离的方法
2015/01/09 PHP
PHP中使用Imagick读取pdf并生成png缩略图实例
2015/01/21 PHP
codeigniter显示所有脚本执行时间的方法
2015/03/21 PHP
php求数组全排列,元素所有组合的方法总结
2017/03/14 PHP
PHP实现PDO操作mysql存储过程示例
2019/02/13 PHP
农历与西历对照
2006/09/06 Javascript
JavaScript 快捷键设置实现代码
2009/03/13 Javascript
两个Javascript小tip资料
2010/11/23 Javascript
JavaScript中的原型prototype属性使用详解
2015/06/05 Javascript
javascript的几种继承方法介绍
2016/03/22 Javascript
JQuery核心函数是什么及使用方法介绍
2016/05/03 Javascript
基于BootStrap Metronic开发框架经验小结【六】对话框及提示框的处理和优化
2016/05/12 Javascript
Javascript 实现放大镜效果实例详解
2016/12/03 Javascript
jQuery中extend函数简单用法示例
2017/10/11 jQuery
BootStrap模态框不垂直居中的解决方法
2017/10/19 Javascript
React Native react-navigation 导航使用详解
2017/12/01 Javascript
vue左侧菜单,树形图递归实现代码
2018/08/24 Javascript
判断js数据类型的函数实例详解
2019/05/23 Javascript
vue+vant实现商品列表批量倒计时功能
2020/01/13 Javascript
vue实现循环滚动列表
2020/06/30 Javascript
[54:57]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第二场 1月8日
2021/03/11 DOTA
mysql 之通过配置文件链接数据库
2017/08/12 Python
Python 按字典dict的键排序,并取出相应的键值放于list中的实例
2019/02/12 Python
Python列表如何更新值
2020/05/27 Python
基于css3的属性transition制作菜单导航效果
2015/09/01 HTML / CSS
Ruby如何实现动态方法调用
2012/11/18 面试题
简历中求职的个人自我评价
2013/12/03 职场文书
爱情保证书范文
2014/02/01 职场文书
党的群众路线学习材料
2014/05/16 职场文书
就业协议书盖章的注意事项
2014/09/28 职场文书
通知的写法
2015/04/23 职场文书
反腐倡廉观后感
2015/06/08 职场文书
如何使用pdb进行Python调试
2021/06/30 Python