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(非HTML5)可编辑表格实现代码
Dec 11 Javascript
jQuery焦点图切换特效插件封装实例
Aug 18 Javascript
js实现的点击div区域外隐藏div区域
Jun 30 Javascript
分享一个自己动手写的jQuery分页插件
Aug 28 Javascript
js实现头像图片切割缩放及无刷新上传图片的方法
Jul 17 Javascript
JavaScript如何动态创建table表格
Aug 02 Javascript
jQuery插件学习教程之SlidesJs轮播+Validation验证
Jul 12 Javascript
ionic2 tabs使用 Modal底部tab弹出框
Dec 30 Javascript
Vue render深入开发讲解
Apr 13 Javascript
教你如何用node连接redis的示例代码
Jul 12 Javascript
小程序红包雨的实现示例
Feb 19 Javascript
Vue-CLI 项目在pycharm中配置方法
Aug 30 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
source.php查看源文件
2006/12/09 PHP
PHP中用header图片地址 简单隐藏图片源地址
2008/04/09 PHP
浅析memcache启动以及telnet命令详解
2013/06/28 PHP
php创建无限级树型菜单
2015/11/05 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
2016/03/07 PHP
PC端微信扫码支付成功之后自动跳转php版代码
2017/07/07 PHP
PHP全局使用Laravel辅助函数dd
2019/12/26 PHP
js获取指定日期前后的日期代码
2013/08/20 Javascript
文本框回车提交与禁止提交示例
2013/09/27 Javascript
js中传递特殊字符(+,&amp;)的方法
2014/01/16 Javascript
Jquery.Form 异步提交表单的简单实例
2014/03/03 Javascript
2014最热门的JavaScript代码高亮插件推荐
2014/11/25 Javascript
js实现jquery的offset()方法实例
2015/01/10 Javascript
jQuery动画与特效详解
2015/02/01 Javascript
JavaScript数据结构和算法之二叉树详解
2015/02/11 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
2015/12/08 Javascript
AngularJS控制器继承自另一控制器
2016/05/09 Javascript
vue v-model动态生成详解
2018/06/30 Javascript
vue解决使用webpack打包后keep-alive不生效的方法
2018/09/01 Javascript
微信小程序设置全局请求URL及封装wx.request请求操作示例
2019/04/02 Javascript
echarts.js 动态生成多个图表 使用vue封装组件操作
2020/07/19 Javascript
vue-calendar-component 封装多日期选择组件的实例代码
2020/12/04 Vue.js
python将多个文本文件合并为一个文本的代码(便于搜索)
2011/03/13 Python
python脚本监控docker容器
2016/04/27 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
2020/05/17 Python
理肤泉英国官网:La Roche-Posay英国
2019/01/14 全球购物
UNIX命令速查表
2012/03/10 面试题
空乘英文求职信
2014/04/13 职场文书
程序员求职信
2014/04/16 职场文书
给老婆的保证书范文
2014/04/28 职场文书
社区助残日活动总结
2014/08/29 职场文书
质量主管工作职责
2014/09/26 职场文书
开展批评与自我批评发言材料
2014/10/17 职场文书
小学见习报告
2014/10/31 职场文书
大学生逃课检讨书
2015/05/04 职场文书
初中班主任心得体会
2016/01/07 职场文书