简单实用jquery版三级联动select示例


Posted in Javascript onJuly 04, 2013

html和js部分

<!DOCTYPE html> 
<html> 
<head> 
<meta charset=gbk /> 
<title>selectList</title> 
<style type="text/css"> 
*{margin:0;padding:0;} 
.selectList{width:200px;margin:50px auto;} 
</style> 
<script type="text/javascript" src="jquery1.7.1.js"></script> 
</head> 
<body> 
<div class="selectList"> 
<select class="province"> 
<option>请选择</option> 
</select> 
<select class="city"> 
<option>请选择</option> 
</select> 
<select class="district"> 
<option>请选择</option> 
</select> 
</div> 
<div class="selectList"> 
<select class="province"> 
<option>请选择</option> 
</select> 
<select class="city"> 
<option>请选择</option> 
</select> 
<select class="district"> 
<option>请选择</option> 
</select> 
</div> 
<script type="text/javascript"> 
$(function(){ 
$(".selectList").each(function(){ 
var url = "area.json"; 
var areaJson; 
var temp_html; 
var oProvince = $(this).find(".province"); 
var oCity = $(this).find(".city"); 
var oDistrict = $(this).find(".district"); 
//初始化省 
var province = function(){ 
$.each(areaJson,function(i,province){ 
temp_html+="<option value='"+province.p+"'>"+province.p+"</option>"; 
}); 
oProvince.html(temp_html); 
city(); 
}; 
//赋值市 
var city = function(){ 
temp_html = ""; 
var n = oProvince.get(0).selectedIndex; 
$.each(areaJson[n].c,function(i,city){ 
temp_html+="<option value='"+city.ct+"'>"+city.ct+"</option>"; 
}); 
oCity.html(temp_html); 
district(); 
}; 
//赋值县 
var district = function(){ 
temp_html = ""; 
var m = oProvince.get(0).selectedIndex; 
var n = oCity.get(0).selectedIndex; 
if(typeof(areaJson[m].c[n].d) == "undefined"){ 
oDistrict.css("display","none"); 
}else{ 
oDistrict.css("display","inline"); 
$.each(areaJson[m].c[n].d,function(i,district){ 
temp_html+="<option value='"+district.dt+"'>"+district.dt+"</option>"; 
}); 
oDistrict.html(temp_html); 
}; 
}; 
//选择省改变市 
oProvince.change(function(){ 
city(); 
}); 
//选择市改变县 
oCity.change(function(){ 
district(); 
}); 
//获取json数据 
$.getJSON(url,function(data){ 
areaJson = data; 
province(); 
}); 
}); 
}); 
</script> 
</body> 
</html>

json文件(area.json),这里只是事例,根据情况添加或编写
[ 
{"p":"江西省", 
"c":[ 
{"ct":"南昌市", 
"d":[ 
{"dt":"西湖区"}, 
{"dt":"东湖区"}, 
{"dt":"高新区"} 
]}, 
{"ct":"赣州市", 
"d":[ 
{"dt":"瑞金县"}, 
{"dt":"南丰县"}, 
{"dt":"全南县"} 
]} 
]}, 
{"p":"北京", 
"c":[ 
{"ct":"东城区"}, 
{"ct":"西城区"} 
]}, 
{"p":"河北省", 
"c":[ 
{"ct":"石家庄", 
"d":[ 
{"dt":"长安区"}, 
{"dt":"桥东区"}, 
{"dt":"桥西区"} 
]}, 
{"ct":"唐山市", 
"d":[ 
{"dt":"滦南县"}, 
{"dt":"乐亭县"}, 
{"dt":"迁西县"} 
]} 
]} 
]

各位最好自己封装成插件,方便调用
Javascript 相关文章推荐
基于jquery封装的一个js分页
Nov 15 Javascript
js 赋值包含单引号双引号问题的解决方法
Feb 26 Javascript
jquery获取当前日期的方法
Jan 14 Javascript
JS函数的定义与调用方法推荐
May 12 Javascript
bootstrap监听滚动实现头部跟随滚动
Nov 08 Javascript
基于vue-ssr服务端渲染入门详解
Jan 08 Javascript
使用vue2实现购物车和地址选配功能
Mar 29 Javascript
在小程序中集成redux/immutable/thunk第三方库的方法
Aug 12 Javascript
详解原生JS回到顶部
Mar 25 Javascript
关于JS模块化的知识点分享
Oct 16 Javascript
javascript实现前端成语点击验证优化
Jun 24 Javascript
uniapp电商小程序实现订单30分钟倒计时
Nov 01 Javascript
原生javascript和jquery判断浏览器版本等信息
Jul 04 #Javascript
js将控件隐藏的方法及display属性介绍
Jul 04 #Javascript
Jquery多选框互相内容交换的实例代码
Jul 04 #Javascript
js局部刷新页面时间具体实现
Jul 04 #Javascript
Jquery倒数计时按钮setTimeout的实例代码
Jul 04 #Javascript
javascript闭包的高级使用方法实例
Jul 04 #Javascript
jquery获取被勾选的checked(选中)的那一行的3列和4列的值
Jul 04 #Javascript
You might like
PHP 抽象方法与抽象类abstract关键字介绍及应用
2014/10/16 PHP
php类的扩展和继承用法实例
2015/06/20 PHP
PHP使用PDO操作数据库的乱码问题解决方法
2016/04/08 PHP
php array_pop 删除数组最后一个元素实例
2016/11/02 PHP
laravel在中间件内生成参数并且传递到控制器中的2种姿势
2019/10/15 PHP
Extjs学习笔记之一 初识Extjs之MessageBox
2010/01/07 Javascript
js的.innerHTML = &quot;&quot;IE9下显示有错误的解决方法
2013/09/16 Javascript
详细介绍8款超实用JavaScript框架
2013/10/25 Javascript
jquery统计输入文字的个数并对其进行判断
2014/01/07 Javascript
Jquery节点遍历next与nextAll方法使用示例
2014/07/22 Javascript
javascript使用数组的push方法完成快速排序
2014/09/15 Javascript
Bootstrap每天必学之缩略图与警示窗
2015/11/29 Javascript
javascript实现倒计时跳转页面
2016/01/17 Javascript
require简单实现单页应用程序(SPA)
2016/07/12 Javascript
详解XMLHttpRequest(一)同步请求和异步请求
2016/09/14 Javascript
如何正确理解javascript的模块化
2017/03/02 Javascript
jQuery 添加样式属性的优先级别方法(推荐)
2017/06/08 jQuery
Angular.js初始化之ng-app的自动绑定与手动绑定详解
2017/07/31 Javascript
vue+iview 兼容IE11浏览器的实现方法
2019/01/07 Javascript
vuex 动态注册方法 registerModule的实现
2019/07/03 Javascript
python类继承用法实例分析
2014/10/10 Python
Python的Django框架中的URL配置与松耦合
2015/07/15 Python
opencv实现静态手势识别 opencv实现剪刀石头布游戏
2019/01/22 Python
python读取txt文件并取其某一列数据的示例
2019/02/19 Python
python可视化text()函数使用详解
2020/02/11 Python
keras CNN卷积核可视化,热度图教程
2020/06/22 Python
python爬虫筛选工作实例讲解
2020/11/23 Python
HTML5之SVG 2D入门5—颜色的表示及定义方式
2013/01/30 HTML / CSS
社团文化节策划书
2014/02/01 职场文书
《孔繁森》教学反思
2014/04/17 职场文书
党员学习正风肃纪思想汇报
2014/09/12 职场文书
工作粗心大意检讨书
2014/09/18 职场文书
党委领导班子整改方案
2014/09/30 职场文书
2014年服装销售工作总结
2014/11/27 职场文书
幼儿园毕业典礼家长致辞
2015/07/29 职场文书
安全教育主题班会教案
2015/08/12 职场文书