JavaScript-省市县三级联动菜单

<html> 
<head> 
<title>省市县三级联动菜单</title> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<style> 
body,select { font-size:9pt; font-family:Verdana; } 
a { color:red; text-decoration:none; } 
a:hover{ text-decoration:underline; } 
</style> 

<SCRIPT LANGUAGE="JavaScript"> 
	<!-- 
	function Dsy() { 
		this.Items = {}; 
	} 
	
	Dsy.prototype.add = function(id,iArray) {
		this.Items[id] = iArray; 
	} 
	
	Dsy.prototype.Exists = function(id) { 
		if(typeof(this.Items[id]) == "undefined") 
			return false; 
		return true; 
	} 
	
	function change(v){ 
		var str="0"; 
		for(i=0;i<v;i++){ str+=("_"+(document.getElementById(s[i]).selectedIndex-1));}; 
		var ss=document.getElementById(s[v]); 
		with(ss){ 
			length = 0; 
			options[0]=new Option(opt0[v],opt0[v]); 
			if(v && document.getElementById(s[v-1]).selectedIndex>0 || !v) { 
				if(dsy.Exists(str)){ 
					ar = dsy.Items[str]; 
					for(i=0;i<ar.length;i++)options[length]=new Option(ar[i],ar[i]); 
					if(v)options[1].selected = true; 
				} 
			} 
			
			if(++v<s.length){
				change(v);
			} 
		} 
	} 
	
	var dsy = new Dsy(); 
	dsy.add("0",["北京","安徽"]); 
	dsy.add("0_0",["北京"]); 
	dsy.add("0_0_0",["北京市","东城","西城","崇文","宣武","朝阳","丰台","石景山","海淀","门头沟","房山","通州","顺义","昌平","大兴","平谷","怀柔","密云","延庆"]); 
	dsy.add("0_1",["安庆","蚌埠","巢湖","池州","滁州","阜阳","合肥","淮北","淮南","黄山","六安","马鞍山","宿州","铜陵","芜湖","宣城","亳州"]); 
	dsy.add("0_1_0",["安庆市","怀宁县","潜山县","宿松县","太湖县","桐城市","望江县","岳西县","枞阳县"]); 
	dsy.add("0_1_1",["蚌埠市","固镇县","怀远县","五河县"]); 
	dsy.add("0_1_2",["巢湖市","含山县","和县","庐江县","无为县"]); 
	dsy.add("0_1_3",["池州市","东至县","青阳县","石台县"]); 
	dsy.add("0_1_4",["滁州市","定远县","凤阳县","来安县","明光市","全椒县","天长市"]); 
	dsy.add("0_1_5",["阜南县","阜阳市","界首市","临泉县","太和县","颖上县"]); 
	dsy.add("0_1_6",["长丰县","肥东县","肥西县"]); 
	dsy.add("0_1_7",["淮北市","濉溪县"]); 
	dsy.add("0_1_8",["凤台县","淮南市"]); 
	dsy.add("0_1_9",["黄山市","祁门县","休宁县","歙县","黟县"]); 
	dsy.add("0_1_10",["霍邱县","霍山县","金寨县","六安市","寿县","舒城县"]); 
	dsy.add("0_1_11",["当涂县","马鞍山市"]); 
	dsy.add("0_1_12",["灵璧县","宿州市","萧县","泗县","砀山县"]); 
	dsy.add("0_1_13",["铜陵市","铜陵县"]); 
	dsy.add("0_1_14",["繁昌县","南陵县","芜湖市","芜湖县"]); 
	dsy.add("0_1_15",["广德县","绩溪县","郎溪县","宁国市","宣城市","泾县","旌德县"]); 
	dsy.add("0_1_16",["利辛县","蒙城县","涡阳县","亳州市"]); 
	
	var s =["s1","s2","s3"]; 
	var opt0 = ["省份","地级市","市、县级市、县"]; 
	function setup() { 
		for(i=0;i<s.length-1;i++) 
		document.getElementById(s[i]).οnchange=new Function("change("+(i+1)+")"); 
		change(0); 
	}
</SCRIPT> 
</head> 

<body bgcolor="#FFFFFF" οnlοad="setup()"> 
	<form name="frm"> 
	<select id="s1"><option>省份</option></select> 
	<select id="s2"><option>地级市</option></select> 
	<select id="s3"><option>市、县级市、县</option></select> 
	</form> 
</body> 
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值