基于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 相关文章推荐
ExtJS的FieldSet的column列布局
Nov 20 Javascript
js 模拟气泡屏保效果代码
Jul 10 Javascript
使用JS 清空File控件的路径值
Jul 08 Javascript
js文本框输入点回车触发确定兼容IE、FF等
Nov 19 Javascript
原生JS操作网页给p元素添加onclick事件及表格隔行变色
Dec 01 Javascript
JS实现网页上随机产生超链接地址的方法
Nov 09 Javascript
JS动态加载脚本并执行回调操作
Aug 24 Javascript
老生常谈JQuery data方法的使用
Sep 09 Javascript
ajax接收后台数据在html页面显示
Feb 19 Javascript
Js利用prototype自定义数组方法示例
Oct 20 Javascript
Vue开发环境中修改端口号的实现方法
Aug 15 Javascript
一起深入理解js中的事件对象
Feb 06 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 危险函数解释 分析
2009/04/22 PHP
php 取得瑞年与平年的天数的代码
2009/08/10 PHP
php printf输出格式使用说明
2010/12/05 PHP
php获取淘宝分类id示例
2014/01/16 PHP
laravel 5 实现模板主题功能
2015/03/02 PHP
php文件压缩之PHPZip类用法实例
2015/06/18 PHP
php两点地理坐标距离的计算方法
2018/12/29 PHP
php日志函数error_log用法实例分析
2019/09/23 PHP
再谈Yii Framework框架中的事件event原理与应用
2020/04/07 PHP
JS中==与===操作符的比较
2009/03/21 Javascript
JavaScript包装对象使用介绍
2013/08/29 Javascript
jquery实现显示已选用户
2014/07/21 Javascript
jQuery制作仿Mac Lion OS滚动条效果
2015/02/10 Javascript
在JavaScript中操作数组之map()方法的使用
2015/06/09 Javascript
JS实现自定义简单网页软键盘效果代码
2015/11/05 Javascript
什么是JavaScript注入攻击?
2016/09/14 Javascript
vue从使用到源码实现教程详解
2016/09/19 Javascript
js 转json格式的字符串为对象或数组(前后台)的方法
2016/11/02 Javascript
8 行 Node.js 代码实现代理服务器
2016/12/05 Javascript
Vue.js常用指令之循环使用v-for指令教程
2017/06/27 Javascript
JS实现按钮添加背景音乐示例代码
2017/10/17 Javascript
jQuery实现table表格信息的展开和缩小功能示例
2018/07/21 jQuery
JS实现的冒泡排序,快速排序,插入排序算法示例
2019/03/02 Javascript
Vue 实现一个简单的鼠标拖拽滚动效果插件
2020/12/10 Vue.js
彻底理解Python list切片原理
2017/10/27 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
2018/12/17 Python
Python 窗体(tkinter)按钮 位置实例
2019/06/13 Python
bluepy 一款python封装的BLE利器简单介绍
2019/06/25 Python
详解python 支持向量机(SVM)算法
2020/09/18 Python
澳大利亚最大的女装零售商:Millers
2017/09/10 全球购物
西班牙语在线票务市场:SuperBoletería
2019/06/10 全球购物
服务口号大全
2014/06/11 职场文书
户籍证明书标准模板
2014/09/10 职场文书
局领导领导班子四风对照检查材料
2014/09/27 职场文书
家长对孩子的寄语
2015/02/26 职场文书
用Python创建简易网站图文教程
2021/06/11 Python