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 相关文章推荐
javascript判断iphone/android手机横竖屏模式的函数
Dec 20 Javascript
jQuery动态改变图片显示大小(修改版)的实现思路及代码
Dec 24 Javascript
js实现右下角提示框的方法
Feb 03 Javascript
Node.js实现Excel转JSON
Apr 24 Javascript
jquery悬浮提示框完整实例
Jan 13 Javascript
jQuery表单验证插件解析(推荐)
Jul 21 Javascript
jQuery动态添加与删除tr行实例代码
Oct 18 Javascript
jquery设置css样式的多种方法(总结)
Feb 21 Javascript
Vue.js实战之利用vue-router实现跳转页面
Apr 01 Javascript
JavaScript requestAnimationFrame动画详解
Sep 14 Javascript
vue axios整合使用全攻略
May 24 Javascript
Bootstrap Table列宽拖动的方法
Aug 15 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
在“咖啡之国”感受咖啡文化
2021/03/03 咖啡文化
php取整函数ceil,floo,round的用法及介绍
2013/08/31 PHP
跟我学Laravel之请求(Request)的生命周期
2014/10/15 PHP
WampServer搭建php环境时遇到的问题汇总
2015/07/23 PHP
jQuery学习2 选择器的使用说明
2010/02/07 Javascript
扩展jQuery对象时如何扩展成员变量具体怎么实现
2014/04/25 Javascript
谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
2015/10/01 Javascript
JavaScript操作XML/HTML比较常用的对象属性集锦
2015/10/30 Javascript
AjaxUpLoad.js实现文件上传功能
2018/03/02 Javascript
jQuery插件实现弹性运动完整示例
2018/07/07 jQuery
JavaScript对象的浅拷贝与深拷贝实例分析
2018/07/25 Javascript
vue强制刷新组件的方法示例
2019/02/28 Javascript
vue下载excel的实现代码后台用post方法
2019/05/10 Javascript
JS实现电商商品展示放大镜特效
2020/01/07 Javascript
js实现数据导出为EXCEL(支持大量数据导出)
2020/03/31 Javascript
在vue中使用eslint,配合vscode的操作
2020/11/09 Javascript
[01:46]辉夜杯—打造中国DOTA新格局
2015/12/25 DOTA
python中使用smtplib和email模块发送邮件实例
2014/04/22 Python
解读Django框架中的低层次缓存API
2015/07/24 Python
python实现壁纸批量下载代码实例
2018/01/25 Python
Python Scapy随心所欲研究TCP协议栈
2018/11/20 Python
python 邮件检测工具mmpi的使用
2021/01/04 Python
HTML5 visibilityState属性详细介绍和使用实例
2014/05/03 HTML / CSS
Hotels.com印度:酒店预订
2019/05/11 全球购物
Tenstickers法国:墙贴和装饰贴纸
2019/08/26 全球购物
社区学习十八大感想
2014/01/22 职场文书
少儿节目主持串词
2014/04/02 职场文书
高效课堂标语
2014/06/26 职场文书
整改落实情况汇报材料
2014/10/29 职场文书
贪污检举信范文
2015/03/02 职场文书
停课通知书
2015/04/24 职场文书
现货白银电话营销话术
2015/05/29 职场文书
假如给我三天光明:舟逆水而行,人遇挫而达 
2019/10/29 职场文书
python爬不同图片分别保存在不同文件夹中的实现
2021/04/02 Python
pytorch 运行一段时间后出现GPU OOM的问题
2021/06/02 Python
源码解读Spring-Integration执行过程
2021/06/11 Java/Android