基于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 相关文章推荐
添加到收藏夹代码(兼容几乎所有的浏览器)
Jan 09 Javascript
jQuery动画animate方法使用介绍
May 06 Javascript
Jquery倒数计时按钮setTimeout的实例代码
Jul 04 Javascript
js中top的作用深入剖析
Mar 04 Javascript
iframe里的页面禁止右键事件的方法
Jun 10 Javascript
javascript中checkbox使用方法简单实例演示
Nov 17 Javascript
基于jquery实现简单的手风琴特效
Nov 24 Javascript
解决Vue2.0自带浏览器里无法打开的原因(兼容处理)
Jul 28 Javascript
解决vue 绑定对象内点击事件失效问题
Sep 05 Javascript
详解vue几种主动刷新的方法总结
Feb 19 Javascript
基于react项目打包css引用路径错误解决方案
Oct 28 Javascript
vue脚手架项目创建步骤详解
Mar 02 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
PHP模块memcached使用指南
2014/12/08 PHP
PHP函数rtrim()使用中的怪异现象分析
2017/02/24 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
使用JavaScript switch case 另类写法
2010/03/14 Javascript
jquery等宽输出文字插件使用介绍
2013/09/18 Javascript
浏览器兼容console对象的简要解决方案分享
2013/10/24 Javascript
JS实现将人民币金额转换为大写的示例代码
2014/02/13 Javascript
nodejs中简单实现Javascript Promise机制的实例
2014/12/06 NodeJs
node.js中的events.emitter.once方法使用说明
2014/12/10 Javascript
JQUERY简单按钮轮换选中效果实现方法
2015/05/07 Javascript
省市区三级联动下拉框菜单javascript版
2015/08/11 Javascript
react+redux的升级版todoList的实现
2017/12/18 Javascript
微信小程序版翻牌小游戏
2018/01/26 Javascript
js中int和string数据类型互相转化实例
2019/01/16 Javascript
JS实现电脑虚拟键盘打字测试
2020/06/24 Javascript
vue cli4.0项目引入typescript的方法
2020/07/17 Javascript
解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突问题
2020/07/24 Javascript
Python3实现连接SQLite数据库的方法
2014/08/23 Python
python生成器表达式和列表解析
2016/03/10 Python
深入学习python的yield和generator
2016/03/10 Python
Golang与python线程详解及简单实例
2017/04/27 Python
Python基于动态规划算法解决01背包问题实例
2017/12/06 Python
对python 矩阵转置transpose的实例讲解
2018/04/17 Python
Python实现的简单排列组合算法示例
2018/07/04 Python
pyspark操作MongoDB的方法步骤
2019/01/04 Python
OpenCV 轮廓检测的实现方法
2019/07/03 Python
Python 生成器,迭代,yield关键字,send()传参给yield语句操作示例
2019/10/12 Python
python文件处理fileinput使用方法详解
2020/01/02 Python
pytorch梯度剪裁方式
2020/02/04 Python
基于Django OneToOneField和ForeignKey的区别详解
2020/03/30 Python
Django前后端分离csrf token获取方式
2020/12/25 Python
国际书籍零售商:Wordery
2017/11/01 全球购物
Exception类的常用方法
2012/06/16 面试题
运动会跳远广播稿5篇
2014/09/17 职场文书
2014年高校辅导员工作总结
2014/12/09 职场文书
React Fragment介绍与使用详解
2021/11/11 Javascript