基于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 相关文章推荐
JS代码放在head和body中的区别分析
Dec 01 Javascript
基于jquery的textarea发布框限制文字字数输入(添加中文识别)
Feb 16 Javascript
javascript变量作用域使用中常见错误总结
Mar 26 Javascript
js 获取、清空input type=&quot;file&quot;的值示例代码
Feb 19 Javascript
JavaScript function 的 length 属性使用介绍
Sep 15 Javascript
Jquery中Event对象属性小结
Feb 27 Javascript
JS实现网页上随滚动条滚动的层效果代码
Nov 04 Javascript
Vue render渲染时间戳转时间,时间转时间戳及渲染进度条效果
Jul 27 Javascript
vue实现商品加减计算总价的实例代码
Aug 12 Javascript
JQuery复选框全选效果如何实现
May 08 jQuery
vue深度监听(监听对象和数组的改变)与立即执行监听实例
Sep 04 Javascript
vue+vant实现购物车全选和反选功能
Nov 17 Vue.js
简介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
jQuery EasyUI API 中文文档 - DateBox日期框
2011/10/15 PHP
PHP设计模式 注册表模式(多个类的注册)
2012/02/05 PHP
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
2012/10/31 PHP
php post大量数据时发现数据丢失问题解决方法
2015/06/20 PHP
关于PHP中Session文件过多的问题及session文件保存位置
2016/03/17 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
2017/04/20 PHP
javascript实现的动态文字变换
2007/07/28 Javascript
js获取php变量的实现代码
2013/08/10 Javascript
Jquery easyui 下loaing效果示例代码
2013/08/12 Javascript
JS实现点击链接取消跳转效果的方法
2014/01/24 Javascript
nodejs爬虫抓取数据之编码问题
2015/07/03 NodeJs
在for循环中length值是否需要缓存
2015/07/27 Javascript
JQuery菜单效果的两个实例讲解(3)
2015/09/17 Javascript
详解Angular 4.x Injector
2017/05/04 Javascript
Vue.js实现可编辑的表格
2019/12/11 Javascript
js实现随机点名器精简版
2020/06/29 Javascript
小程序实现左滑删除的效果的实例代码
2020/10/19 Javascript
Scrapy-redis爬虫分布式爬取的分析和实现
2017/02/07 Python
详解python使用Nginx和uWSGI来运行Python应用
2018/01/09 Python
Python基于Flask框架配置依赖包信息的项目迁移部署
2018/03/02 Python
python画图的函数用法以及技巧
2019/06/28 Python
简单了解python单例模式的几种写法
2019/07/01 Python
Python输出指定字符串的方法
2020/02/06 Python
python json.dumps中文乱码问题解决
2020/04/01 Python
Tensorflow中的图(tf.Graph)和会话(tf.Session)的实现
2020/04/22 Python
python中的错误如何查看
2020/07/08 Python
OpenCV4.1.0+VS2017环境配置的方法步骤
2020/07/09 Python
Python调用jar包方法实现过程解析
2020/08/11 Python
LORAC官网:美国彩妆品牌
2019/08/27 全球购物
华为的Java面试题
2014/03/07 面试题
师范生自荐信
2013/10/27 职场文书
开业庆典邀请函
2014/01/08 职场文书
单位工作证明
2014/10/07 职场文书
idea编译器vue缩进报错问题场景分析
2021/07/04 Vue.js
解决Jenkins集成SonarQube遇到的报错问题
2021/07/15 Java/Android
Python实现归一化算法详情
2022/03/18 Python