基于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 相关文章推荐
跟着JQuery API学Jquery 之二 属性
Apr 09 Javascript
IE与FireFox中的childNodes区别
Oct 20 Javascript
Node.js开发指南中的简单实例(mysql版)
Sep 17 Javascript
JavaScript通过Date-Mask将日期转换成字符串的方法
Jun 04 Javascript
Bootstrap 布局组件(全)
Jul 18 Javascript
jQuery事件用法详解
Oct 06 Javascript
Javascript的动态增加类的实现方法
Oct 20 Javascript
vue实现全选、反选功能
Nov 17 Javascript
微信小程序实现渐入渐出动画效果
Jun 13 Javascript
js如何获取访问IP、地区、当前操作浏览器
Jul 23 Javascript
微信小程序组件传值图示过程详解
Jul 31 Javascript
JSON 入门教程基础篇 json入门学习笔记
Sep 22 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 IE中下载附件问题解决方法
2014/01/07 PHP
php实现带读写分离功能的MySQL类完整实例
2016/07/28 PHP
PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】
2017/06/07 PHP
Laravel6.2中用于用户登录的新密码确认流程详解
2019/10/16 PHP
jQuery基础知识filter()和find()实例说明
2010/07/06 Javascript
使用JS 清空File控件的路径值
2013/07/08 Javascript
js获取域名的方法
2015/01/27 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
2015/03/09 Javascript
JavaScript定时器和优化的取消定时器方法
2015/07/03 Javascript
jQuery前端开发35个小技巧
2016/05/24 Javascript
AngularJS基础 ng-value 指令简单示例
2016/08/03 Javascript
详解基于Node.js的微信JS-SDK后端接口实现代码
2017/07/15 Javascript
JavaScript实现打印星型金字塔功能实例分析
2017/09/27 Javascript
Angular数据绑定机制原理
2018/04/17 Javascript
Vue项目中使用better-scroll实现一个轮播图自动播放功能
2018/12/03 Javascript
Vue加载json文件的方法简单示例
2019/01/28 Javascript
Vue项目服务器部署之子目录部署方法
2019/05/12 Javascript
vue.js实现h5机器人聊天(测试版)
2020/07/16 Javascript
vue elementui tree 任意级别拖拽功能代码
2020/08/31 Javascript
解决vue项目中遇到 Cannot find module ‘chalk‘ 报错的问题
2020/11/05 Javascript
nuxt.js 在middleware(中间件)中实现路由鉴权操作
2020/11/06 Javascript
[52:36]VGJ.S vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python 元类使用说明
2009/12/18 Python
详解python 字符串和日期之间转换 StringAndDate
2017/05/04 Python
matplotlib savefig 保存图片大小的实例
2018/05/24 Python
python八皇后问题的解决方法
2018/09/27 Python
Python 实现子类获取父类的类成员方法
2019/01/11 Python
Python语言检测模块langid和langdetect的使用实例
2019/02/19 Python
解决Python正则表达式匹配反斜杠''\''问题
2019/07/17 Python
Python装饰器的应用场景代码总结
2020/04/10 Python
iframe在移动端的缩放的示例代码
2018/10/12 HTML / CSS
英国知名衬衫品牌美国网站:Charles Tyrwhitt美国
2016/08/28 全球购物
教师党员批评与自我批评发言稿
2014/10/15 职场文书
2014年纪检监察工作总结
2014/11/11 职场文书
2015年度培训工作总结范文
2015/04/02 职场文书
Vue全局事件总线你了解吗
2022/02/24 Vue.js