基于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 相关文章推荐
说明你的Javascript技术很烂的五个原因
Apr 26 Javascript
jquery实现excel导出的方法
Apr 04 Javascript
JavaScript中几个重要的属性(this、constructor、prototype)介绍
May 19 Javascript
DropDownList实现可输入可选择(两种版本可选)
Dec 07 Javascript
微信小程序新增的拖动组件movable-view使用教程
May 20 Javascript
JavaScript利用fetch实现异步请求的方法实例
Jul 26 Javascript
AngularJS ionic手势事件的使用总结
Aug 09 Javascript
vue实现城市列表选择功能
Jul 16 Javascript
快速解决处理后台返回json数据格式的问题
Aug 07 Javascript
cdn模式下vue的基本用法详解
Oct 07 Javascript
JS实现的字符串数组去重功能小结
Jun 17 Javascript
javascript事件监听与事件委托实例详解
Aug 16 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执行速度全攻略(下)
2006/10/09 PHP
浅析HTTP消息头网页缓存控制以及header常用指令介绍
2013/06/28 PHP
使用php+swoole对client数据实时更新(一)
2016/01/07 PHP
JavaScript 编程引入命名空间的方法与代码
2007/08/13 Javascript
javascript 使td内容不换行不撑开
2012/11/29 Javascript
JavaScript数值数组排序示例分享
2014/05/27 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
2014/06/12 Javascript
原生js制作简单的数字键盘
2015/04/24 Javascript
jQueryUI中的datepicker使用方法详解
2016/05/25 Javascript
jQuery增加、删除及修改select option的方法
2016/08/19 Javascript
js判断所有表单项不为空则提交表单的实现方法
2016/09/09 Javascript
详解jquery validate实现表单验证 (正则表达式)
2017/01/18 Javascript
Node.js获取前端ajax提交的request信息
2017/02/20 Javascript
vue2 前后端分离项目ajax跨域session问题解决方法
2017/04/27 Javascript
移动前端图片压缩上传的实例
2017/12/06 Javascript
详解小程序如何避免多次点击,重复触发事件
2019/04/08 Javascript
微信小程序实现类似微信点击语音播放效果
2020/03/30 Javascript
整理 node-sass 安装失败的原因及解决办法(小结)
2020/02/19 Javascript
三步搞定:Vue.js调用Android原生操作
2020/09/07 Javascript
JS实现简单贪吃蛇小游戏
2020/10/28 Javascript
Js数组扁平化实现方法代码总汇
2020/11/11 Javascript
[04:26]2014DOTA2国际邀请赛-Newbee顺利进入胜者组决赛 独家专访战神7
2014/07/19 DOTA
python并发编程之线程实例解析
2017/12/27 Python
cmd运行python文件时对结果进行保存的方法
2018/05/16 Python
python Tkinter的图片刷新实例
2019/06/14 Python
django 使用全局搜索功能的实例详解
2019/07/18 Python
python mysql断开重连的实现方法
2019/07/26 Python
python实现堆排序的实例讲解
2020/02/21 Python
Python中三维坐标空间绘制的实现
2020/09/22 Python
美国当红的名品折扣网:Gilt Groupe
2016/08/15 全球购物
世界上最值得信赖的多日游在线市场:TourRadar
2018/07/20 全球购物
社区活动总结报告
2014/05/05 职场文书
街道社区活动报告
2015/02/05 职场文书
2015年骨干教师工作总结
2015/05/26 职场文书
幼儿园教师辞职信
2019/06/21 职场文书
HR必备:销售经理聘用合同范本
2019/08/21 职场文书