天天看点

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",["??浜?甯?","涓???","瑗垮??","宕???","瀹f??,"????,"涓板??,"?虫??灞?,"娴锋?","?ㄥご娌?","?垮北","??宸?","椤轰?","??骞?,"澶у??,"骞宠胺","????","瀵?浜?","寤跺?"]); 
	dsy.add("0_1",["瀹?搴?","????","宸㈡?","姹?宸?","婊?宸?","????,"????,"娣???","娣???","榛?灞?,"??瀹?","椹???灞?,"瀹垮?","????,"??婀?","瀹e??","浜冲?"]); 
	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",["骞垮痉??,"缁╂邯??,"??婧???,"瀹??藉?","瀹e??甯?","娉惧??,"??寰峰??]); 
	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>??浠?lt;/option></select> 
	<select id="s2"><option>?扮骇甯?</option></select> 
	<select id="s3"><option>甯????跨骇甯?????lt;/option></select> 
	</form> 
</body> 
</html>
           

继续阅读