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

代码如下:

<!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>

(0)

相关推荐

  • JS制作简单的三级联动

    用javascript制作的一个简单三级联动,非常简单实用 复制代码 代码如下: <!DOCTYPE html> <html>     <head>         <meta charset="utf-8">         <title></title>     </head>     <body>         省:         <select style="wi

  • 最好用的省市二级联动 原生js实现你值得拥有

    复制代码 代码如下: <script language=javascript> cities = new Object(); cities['台湾']=new Array('台北','台南','其他'); cities['马来西亚']=new Array('Malaysia'); cities['北京']=new Array('北京'); cities['上海']=new Array('上海'); cities['天津']=new Array('天津'); cities['重庆']=new A

  • JS实多级联动下拉菜单类,简单实现省市区联动菜单!

    作者:ybcola 这段js代码是很久以前的作品了,应该在一年以前吧!当时是在做一个农村人才管理系统的时候遇到的问题,因为系统要求参选择并通过后台添加省市区县甚至到乡镇村队,而在对人才的信息进行修改时要求用下拉列表进行选择,并且每个人才来源可能是省市,或者省市区县,或者一直取队都要选择!那时第一反映就是找网上是否有现成的代码,找到一个最常用的就是省市二级联动,那时那段js代码在网上随处可见,可是拿过来对我来说没用,因为我需要的是一个多级联通并且可以自由扩展的代码!最终还是自己动手写了JS代码.

  • JavaScript结合HTML DOM实现联动菜单

    本文实例为大家分享了js三级联动菜单展示的具体代码,供大家参考,具体内容如下 效果图: 代码: <!DOCTYPE HTML> <html> <head> <title>联动菜单</title> <meta charset="utf-8" /> <script> /*使用 HTML DOM 的方式实现联动菜单*/ var categories=[ { "id":10, "n

  • jquery+json 通用三级联动下拉列表

    Author: shaoyun Email: shaoyun (at) yeah.net Date: 2010-03-10 02:03 Blog: http://shaoyun.cnblogs.com/ 用Jquery实现,原始代码只支持IE,这里我改了一下,我的代码里面有三个版本的实现 第一个是通过读取XML构建,支持IE/firefox,chrome不支持,有兴趣的可以将读取XML的部分改成AJAX的方式,这样chrome支持就不成问题 第二个是采用Json数据格式构建,是我的第二次尝试改进

  • js操作二级联动实现代码

    表结构 二级或多级联动主要是以数据库中具有父编号的表为基础,这个也不例外 id,parent_id,name 三列. 采用js操作 先说下数据在js中的存储方式. 主要用二维数组来存储数据.结构如下: a[父编号]=[[子编号1,子名称1],[子编号2,子名称2],[子编号3,子名称3],--]; 首先用父编号获取所有的子数据,在把子数据的编号及名称绑定在dropdown中 第一步 二级联动数据(后面说这些数据怎么得到) 复制代码 代码如下: var cities=new Array(); ci

  • 基于jquery & json的省市区联动代码

    效果演示: html代码: 复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>省市区联动</title> <script src="/Scripts/jquery.min.js" type="text/javascript"></script> <sc

  • js实现的全国省市二级联动下拉选择菜单完整实例

    本文实例讲述了js实现的全国省市二级联动下拉选择菜单.分享给大家供大家参考.具体如下: 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-province-city-cho-menu-codes/ 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-

  • js简单实现HTML标签Select联动带跳转

    复制代码 代码如下: <script src="Scripts/jquery-1.9.1.min.js" type="text/javascript"></script> 复制代码 代码如下: <FORM name="form5" id="form5" action="" method="post" target="_blank" ons

  • PHP+Mysql+Ajax+JS实现省市区三级联动

    基本思想就是:在JS动态创建select控件的option,通过Ajax获取在PHP从SQL数据库获取的省市区信息,代码有点长,但很多都是类似的,例如JS中省.市.区获取方法类似,PHP中通过参数不同执行不同的select语句. index.html代码: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xh

随机推荐