简单实用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的textarea发布框限制文字字数输入(添加中文识别)
Feb 16 Javascript
jQuery动态添加 input type=file的实现代码
Jun 14 Javascript
js 文本滚动效果的实例代码
Aug 17 Javascript
jquery数组封装使用方法分享(jquery数组遍历)
Mar 25 Javascript
jQuery短信验证倒计时功能实现方法详解
May 25 Javascript
如何使用headjs来管理和异步加载js
Nov 29 Javascript
如何解决jQuery EasyUI 已打开Tab重新加载问题
Dec 19 Javascript
AngularJS的ng-repeat指令与scope继承关系实例详解
Jan 21 Javascript
bootstrap基本配置_动力节点Java学院整理
Jul 14 Javascript
Vue+Flask实现简单的登录验证跳转的示例代码
Jan 13 Javascript
原生JS实现逼真的图片3D旋转效果详解
Feb 16 Javascript
Vue中img的src是动态渲染时不显示的解决
Nov 14 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+Html+缓存
2006/12/20 PHP
PHP的SQL注入实现(测试代码安全不错)
2011/02/27 PHP
基于PHP对XML的操作详解
2013/06/07 PHP
php 检查电子邮件函数(自写)
2014/01/16 PHP
JavaScript Eval 函数使用
2010/03/23 Javascript
js实现鼠标经过时图片滚动停止的方法
2015/02/16 Javascript
详解AngularJS实现表单验证
2015/12/10 Javascript
原生js实现验证码功能
2017/03/16 Javascript
Bootstrap实现的标签页内容切换显示效果示例
2017/05/25 Javascript
VUE中v-model和v-for指令详解
2017/06/23 Javascript
axios 封装上传文件的请求方法
2018/09/26 Javascript
Node.js + express实现上传大文件的方法分析【图片、文本文件】
2019/03/14 Javascript
Vue CLI3创建项目部署到Tomcat 使用ngrok映射到外网
2019/05/16 Javascript
Vue实现固定定位图标滑动隐藏效果
2019/05/30 Javascript
微信小程序文章详情功能完整实例
2020/06/03 Javascript
js绘制一条直线并旋转45度
2020/08/21 Javascript
pymssql ntext字段调用问题解决方法
2008/12/17 Python
老生常谈Python进阶之装饰器
2017/05/11 Python
python中利用h5py模块读取h5文件中的主键方法
2018/06/05 Python
PyTorch: 梯度下降及反向传播的实例详解
2019/08/20 Python
python如何将两张图片生成为全景图片
2020/03/05 Python
Python读写压缩文件的方法
2020/07/30 Python
让IE支持HTML5的方法
2012/12/11 HTML / CSS
澳大利亚现代波西米亚风格女装网站:Bohemian Traders
2018/04/16 全球购物
娇韵诗Clarins意大利官方网站:法国天然护肤品牌
2020/03/11 全球购物
英国现代、当代和设计师家具店:Furntastic
2020/07/18 全球购物
口头翻译求职人自荐信
2013/12/07 职场文书
房屋改造计划书
2014/01/10 职场文书
犯错检讨书
2014/02/21 职场文书
表决心的诗句大全
2014/03/11 职场文书
信息管理与信息系统专业求职信
2014/06/21 职场文书
教师作风整顿个人剖析材料
2014/10/10 职场文书
2014年行政部工作总结
2014/11/19 职场文书
2014年副班长工作总结
2014/12/10 职场文书
优秀班组申报材料
2014/12/25 职场文书
党员心得体会范文2016
2016/01/23 职场文书