JSON+HTML实现国家省市联动选择效果


Posted in Javascript onMay 18, 2014
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<title>json</title> 
<script type="text/javascript"> 
<!-- 
var list=[{"name":"中国", 
"value":"86", 
"province":[{"name":"湖北", 
"value":"430000", 
"city":[{"name":"武汉","value":"wh"}, 
{"name":"黄冈","value":"hg"}, 
{"name":"襄阳","value":"xy"}]}, 
{"name":"河北", 
"value":"100000", 
"city":[{"name":"邯郸","value":"hd"}, 
{"name":"保定","value":"bd"}, 
{"name":"石家庄","value":"sjz"}]}, {"name":"湖南", 
"value":"440000", 
"city":[{"name":"长沙","value":"cs"}, 
{"name":"株洲","value":"zz"}, 
{"name":"衡阳","value":"hy"}]}]}, 
{"name":"美国", 
"value":"22", 
"province":[{"name":"阿肯色", 
"value":"990000", 
"city":[{"name":"纽约","value":"ny"}, 
{"name":"华盛顿","value":"hsd"}, 
{"name":"波士顿","value":"bsd"}]}, 
{"name":"阿哈哈", 
"value":"980000", 
"city":[{"name":"AA","value":"ahd"}, 
{"name":"BB","value":"abd"}, 
{"name":"CC","value":"asjz"}]}] 
}]; 
function init(){ 
var _country=document.getElementById("country"); 
for(var e in list){ 
var opt_1=new Option(list[e].name,list[e].value); 
_country.add(opt_1); 
} 
} 

function toProvince(){ 
var _country=document.getElementById("country"); 
var _province=document.getElementById("province"); 
var _city=document.getElementById("city"); 
var v_country=_country.value; 
_province.options.length=1; 
_city.options.length=1; 
for(var e in list){ 
if(list[e].value==v_country){ 
for( var p in list[e].province){ 
var opt_2=new Option(list[e].province[p].name,list[e].province[p].value); 
_province.add(opt_2); 
} 
break; 
} 
} 
} 

function toCity(){ 
var _country=document.getElementById("country"); 
var _province=document.getElementById("province"); 
var _city=document.getElementById("city"); 
var v_country=_country.value; 
var v_province=_province.value; 
//_province.options.length=1; 
_city.options.length=1; 

for(var e in list){ 
if(list[e].value==v_country){ 
for( var p in list[e].province){ 
//alert(list[e].province[p].value); 
if(list[e].province[p].value==v_province){ 
// alert(list[e].province[p].value); 
for(var cc in list[e].province[p].city){ 
var opt_3=new Option(list[e].province[p].city[cc].name,list[e].province[p].city[cc].value); 
_city.add(opt_3); 
} 
return; 
} 

} 
break; 
} 
} 
} 
//--> 
</script> 
</head> 
<body onload="init();";> 
<select id="country" onchange="toProvince();"> 
<option value="-1">--请选择国家---</option> 
</select> 
<select id="province" onchange="toCity();"> 
<option value="-1">--请选择省份---</option> 
</select> 
<select id="city"> 
<option value="-1">--请选择市区---</option> 
</select> 
</body> 
</html>
Javascript 相关文章推荐
jquery写个checkbox——类似邮箱全选功能
Mar 19 Javascript
你所不了解的javascript操作DOM的细节知识点(一)
Jun 17 Javascript
在for循环中length值是否需要缓存
Jul 27 Javascript
jquery移动端TAB触屏切换实现效果
Dec 22 Javascript
Bootstrap每天必学之面板
Nov 30 Javascript
使用jQuery的easydrag插件实现可拖动的DIV弹出框
Feb 19 Javascript
bootstrapValidator bootstrap-select验证不可用的解决办法
Jan 11 Javascript
微信小程序 自动登陆PHP源码实例(源码下载)
May 08 Javascript
vue2.0 如何把子组件的数据传给父组件(推荐)
Jan 15 Javascript
Vue2.0 实现移动端图片上传功能
May 30 Javascript
async/await优雅的错误处理方法总结
Jan 30 Javascript
Nuxt 嵌套路由nuxt-child组件用法(父子页面组件的传值)
Nov 05 Javascript
让alert不出现弹窗的两种方法
May 18 #Javascript
jqGrid读取选择的多行的某个属性代码
May 18 #Javascript
wap浏览自动跳转到wap页面的js代码
May 17 #Javascript
javascript教程:关于if简写语句优化的方法
May 17 #Javascript
javascript if条件判断方法小结
May 17 #Javascript
js加减乘除丢失精度问题解决方法
May 16 #Javascript
js脚本获取webform服务器控件的方法
May 16 #Javascript
You might like
「OVERLORD」动画重要删减!雅儿贝德的背叛?至尊猎杀队结成
2020/04/09 日漫
PHP安全配置
2006/10/09 PHP
PHP文件上传主要代码讲解
2013/09/30 PHP
php使用正则表达式进行字符串搜索的方法
2015/03/23 PHP
值得分享的php+ajax实时聊天室
2016/07/20 PHP
PHP实现的mysql主从数据库状态检测功能示例
2017/07/20 PHP
php经典趣味算法实例代码
2020/01/21 PHP
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之二
2011/12/31 Javascript
jQuery 中国省市两级联动选择附图
2014/05/14 Javascript
JS模拟酷狗音乐播放器收缩折叠关闭效果代码
2015/10/29 Javascript
关于获取DIV内部内容报错的原因分析及解决办法
2016/01/29 Javascript
jQuery判断浏览器并动态调整select宽度的方法
2016/03/02 Javascript
Jquery UI实现一次拖拽多个选中的元素操作
2020/12/01 Javascript
BootStrap下的弹出框加载select2框架失败的解决方法
2017/08/31 Javascript
详解关于Vue2.0路由开启keep-alive时需要注意的地方
2018/09/18 Javascript
vue组件tabbar使用方法详解
2018/11/06 Javascript
[55:44]OG vs NAVI 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
[42:00]完美世界DOTA2联赛PWL S3 Phoenix vs INK ICE 第一场 12.13
2020/12/17 DOTA
浅析AST抽象语法树及Python代码实现
2016/06/06 Python
深入理解python中的select模块
2017/04/23 Python
解决pandas使用read_csv()读取文件遇到的问题
2018/06/15 Python
django连接oracle时setting 配置方法
2019/08/29 Python
浅谈python中统计计数的几种方法和Counter详解
2019/11/07 Python
python中JWT用户认证的实现
2020/05/18 Python
Python QT组件库qtwidgets的使用
2020/11/02 Python
美国购买汽车零件网站:Buy Auto Parts
2018/04/02 全球购物
个人找工作求职简历的自我评价
2013/10/20 职场文书
最新党员的自我评价分享
2013/11/04 职场文书
自考毕业自我鉴定
2014/03/18 职场文书
通信工程专业求职信
2014/06/04 职场文书
2014年人事科工作总结
2014/11/19 职场文书
2015年度保密工作总结
2015/04/24 职场文书
2015年学校图书室工作总结
2015/05/19 职场文书
2016春季运动会前导词
2015/11/25 职场文书
《秋天的怀念》教学反思
2016/02/17 职场文书
2016年教育局“我们的节日——端午节”主题活动总结
2016/04/01 职场文书