各位高手各路英雄,帮我看看这两段代码如何整和,万分感谢!! MS 早期曾经出过一个 Ajax 联动下拉选框示例,建议 LZ 看看!对于数组形式三级联动俺就不熟悉了,而且 LZ 贴出来的代码有错误! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 改了一版,不过代码很乱,因为俺是在原代码代码基础上修改的!只是简单实现,LZ 凑合看吧!L@_@K<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <head> <title> new document </title> <meta name="generator" content="editplus" /> <meta name="author" content="" /> <meta name="keywords" content="" /> <meta name="description" content="" /></head><SCRIPT LANGUAGE="JavaScript"> <!-- function Dsy() { this.Items = {}; this.Provinces = new Array(); this.Cities = new Array(); this.Counties = new Array();} 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++) { var oSelect = document.getElementById(s[i]); str += "_"+(oSelect.options[oSelect.selectedIndex].value); } 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]; var strLevelName; switch (str.split("_").length) { case 1: strLevelName = "Provinces"; break; case 2: strLevelName = "Cities"; break; case 3: strLevelName = "Counties"; break; } for(i=0; i<ar.length; i++) { dsy[strLevelName][i] = ar[i].split("."); options[length]=new Option(dsy[strLevelName][i][1],i); } if(v)options[1].selected = true; } } if(++v<s.length){change(v);} } }var dsy = new Dsy(); dsy.add("0",["b.北京","a.安徽","f.福建"]); dsy.add("0_0",["b.北京"]); dsy.add("0_0_0",["b.北京市","d.东城","x.西城","c.崇文","x.宣武","c.朝阳","f.丰台","s.石景山","h.海淀","m.门头沟","f.房山","t.通州","s.顺义","c.昌平","d.大兴","p.平谷","h.怀柔","m.密云","y.延庆"]); dsy.add("0_1",["a.安庆","b.蚌埠","c.巢湖","c.池州","x.滁州","f.阜阳","h.合肥","h.淮北","h.淮南","h.黄山","l.六安","m.马鞍山","s.宿州","t.铜陵","w.芜湖","x.宣城","h.亳州"]); dsy.add("0_1_0",["a.安庆市","h.怀宁县","q.潜山县","s.宿松县","t.太湖县","t.桐城市","w.望江县","y.岳西县","z.枞阳县"]); dsy.add("0_1_16",["x.利辛县","m.蒙城县","w.涡阳县","h.亳州市"]); dsy.add("0_2",["f.福州","l.龙岩","n.南平","n.宁德","p.莆田","q.泉州","s.三明","x.厦门","z.漳州"]); dsy.add("0_2_0",["c.长乐市","f.福清市","f.福州市","l.连江县","l.罗源县","m.闽侯县","m.闽清县","p.平潭县","y.永泰县"]); dsy.add("0_2_5",["a.安溪县","d.德化县","h.惠安县","j.金门县","j.晋江市","n.南安市","q.泉州市","s.石狮市","y.永春县"]); dsy.add("0_29_8",["苍南县","洞头县","乐清市","平阳县","瑞安市","泰顺县","温州市","文成县","永嘉县"]); dsy.add("0_29_9",["舟山市","岱山县","嵊泗县"]); dsy.add("0_30",["重庆"]); dsy.add("0_30_0",["城口县","大足县"]); //--> </SCRIPT> <SCRIPT LANGUAGE = JavaScript> var s = ["s1","s2","s3"]; var opt0 = ["省份","地级市","市、县级市、县"]; function setup() { for(i=0;i<s.length;i++) { if (i<s.length-1) { document.getElementById(s[i]).onchange = new Function("change("+(i+1)+")"); } document.getElementById(s[i]).onmouseover = function () { this.focus(); }; document.getElementById(s[i]).onkeypress = function () { this.selectedIndex = 0; var strInitial = String.fromCharCode(event.keyCode).toLowerCase(); this.options.length = 1; var numIndex = parseInt(this.id.substr(1,1)); var strLevelName; switch (numIndex) { case 1: strLevelName = "Provinces"; break; case 2: strLevelName = "Cities"; break; case 3: strLevelName = "Counties"; break; } var arrCurrent = dsy[strLevelName]; for (var i=0; i<arrCurrent.length; i++) { if (arrCurrent[i][0] === strInitial) { this.options.add(new Option(arrCurrent[i][1],i)); } } }; } change(0); } //--> </SCRIPT> </head> <body bgcolor="#E0E0E0" onLoad="setup()"> 多级关联菜单: <form name="frm"> <p> 起点城市 <select id="s1"> <option>省份</option> </select> <select id="s2"> <option>地级市</option> </select> <select id="s3"> <option>市、县级市、县</option> </select> </p> </form> </body> </html> 选省的时候,按b的时候北京选择不到,但是按a可以选择正确得到安徽,但是不能象例子一样选择a 的时候安徽就自动跳到选择项目,而是要先按下拉框再选择安徽 To LZ俺测试时 b.北京 a.安徽 f.福建 都没问题!以下代码略做修改实现“选择a 的时候安徽就自动跳到选择项目,而无需要先按下拉框再选择安徽”,同时市县会联动。注:这段代码已经改得很乱了,以后很难维护!!L@_@K<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <head> <title> new document </title> <meta name="generator" content="editplus" /> <meta name="author" content="" /> <meta name="keywords" content="" /> <meta name="description" content="" /></head><SCRIPT LANGUAGE="JavaScript"> <!-- function Dsy() { this.Items = {}; this.Provinces = new Array(); this.Cities = new Array(); this.Counties = new Array();} 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++) { var oSelect = document.getElementById(s[i]); str += "_"+(oSelect.options[oSelect.selectedIndex].value); } 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]; var strLevelName; switch (str.split("_").length) { case 1: strLevelName = "Provinces"; break; case 2: strLevelName = "Cities"; break; case 3: strLevelName = "Counties"; break; } for(i=0; i<ar.length; i++) { dsy[strLevelName][i] = ar[i].split("."); options[length]=new Option(dsy[strLevelName][i][1],i); } if(v)options[1].selected = true; } } if(++v<s.length){change(v);} } }var dsy = new Dsy(); dsy.add("0",["b.北京","a.安徽","f.福建"]); dsy.add("0_0",["b.北京"]); dsy.add("0_0_0",["b.北京市","d.东城","x.西城","c.崇文","x.宣武","c.朝阳","f.丰台","s.石景山","h.海淀","m.门头沟","f.房山","t.通州","s.顺义","c.昌平","d.大兴","p.平谷","h.怀柔","m.密云","y.延庆"]); dsy.add("0_1",["a.安庆","b.蚌埠","c.巢湖","c.池州","x.滁州","f.阜阳","h.合肥","h.淮北","h.淮南","h.黄山","l.六安","m.马鞍山","s.宿州","t.铜陵","w.芜湖","x.宣城","h.亳州"]); dsy.add("0_1_0",["a.安庆市","h.怀宁县","q.潜山县","s.宿松县","t.太湖县","t.桐城市","w.望江县","y.岳西县","z.枞阳县"]); dsy.add("0_1_16",["x.利辛县","m.蒙城县","w.涡阳县","h.亳州市"]); dsy.add("0_2",["f.福州","l.龙岩","n.南平","n.宁德","p.莆田","q.泉州","s.三明","x.厦门","z.漳州"]); dsy.add("0_2_0",["c.长乐市","f.福清市","f.福州市","l.连江县","l.罗源县","m.闽侯县","m.闽清县","p.平潭县","y.永泰县"]); dsy.add("0_2_5",["a.安溪县","d.德化县","h.惠安县","j.金门县","j.晋江市","n.南安市","q.泉州市","s.石狮市","y.永春县"]); dsy.add("0_29_8",["苍南县","洞头县","乐清市","平阳县","瑞安市","泰顺县","温州市","文成县","永嘉县"]); dsy.add("0_29_9",["舟山市","岱山县","嵊泗县"]); dsy.add("0_30",["重庆"]); dsy.add("0_30_0",["城口县","大足县"]); //--> </SCRIPT> <SCRIPT LANGUAGE = JavaScript> var s = ["s1","s2","s3"]; var opt0 = ["省份","地级市","市、县级市、县"]; function setup() { for(i=0;i<s.length;i++) { if (i<s.length-1) { document.getElementById(s[i]).onchange = new Function("change("+(i+1)+")"); } document.getElementById(s[i]).onmouseover = function () { this.focus(); }; document.getElementById(s[i]).onkeypress = function () { this.selectedIndex = 0; var strInitial = String.fromCharCode(event.keyCode).toLowerCase(); this.options.length = 1; var numIndex = parseInt(this.id.substr(1,1)); var strLevelName; switch (numIndex) { case 1: strLevelName = "Provinces"; break; case 2: strLevelName = "Cities"; break; case 3: strLevelName = "Counties"; break; } var arrCurrent = dsy[strLevelName]; for (var i=0; i<arrCurrent.length; i++) { if (arrCurrent[i][0] === strInitial) { this.options.add(new Option(arrCurrent[i][1],i)); } } if (numIndex<3 && this.options.length>1) { this.selectedIndex = 1; change(numIndex); } }; } change(0); } //--> </SCRIPT> </head> <body bgcolor="#E0E0E0" onLoad="setup()"> 多级关联菜单: <form name="frm"> <p> 起点城市 <select id="s1"> <option>省份</option> </select> <select id="s2"> <option>地级市</option> </select> <select id="s3"> <option>市、县级市、县</option> </select> </p> </form> </body> </html> 怎么设置iframe的字体颜色 ckeditor提交出现的问题 jquery怎么阻止后绑定的事件 求一正則,只能是空和數字 combobox级联查询 jquery 怎么获取整个表单验证的结果 easyUI datagrid显示图片的问题 一个关于下拉框的问题,请高手帮忙!! http://scjp.myrice.com SCJP认证Bible及认证必备书大全! 本日更新(NEW) 大神可以实现移除代码吗? 鼠标右键菜单的问题 在文本框上放一个透明的flash,但这样文本框无法获取焦点
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<head>
<title> new document </title>
<meta name="generator" content="editplus" />
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
</head>
<SCRIPT LANGUAGE="JavaScript">
<!--
function Dsy()
{
this.Items = {};
this.Provinces = new Array();
this.Cities = new Array();
this.Counties = new Array();
}
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++)
{
var oSelect = document.getElementById(s[i]);
str += "_"+(oSelect.options[oSelect.selectedIndex].value);
}
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];
var strLevelName;
switch (str.split("_").length)
{
case 1:
strLevelName = "Provinces";
break;
case 2:
strLevelName = "Cities";
break;
case 3:
strLevelName = "Counties";
break;
}
for(i=0; i<ar.length; i++)
{
dsy[strLevelName][i] = ar[i].split(".");
options[length]=new Option(dsy[strLevelName][i][1],i);
} if(v)options[1].selected = true;
}
}
if(++v<s.length){change(v);}
}
}var dsy = new Dsy(); dsy.add("0",["b.北京","a.安徽","f.福建"]); dsy.add("0_0",["b.北京"]);
dsy.add("0_0_0",["b.北京市","d.东城","x.西城","c.崇文","x.宣武","c.朝阳","f.丰台","s.石景山","h.海淀","m.门头沟","f.房山","t.通州","s.顺义","c.昌平","d.大兴","p.平谷","h.怀柔","m.密云","y.延庆"]); dsy.add("0_1",["a.安庆","b.蚌埠","c.巢湖","c.池州","x.滁州","f.阜阳","h.合肥","h.淮北","h.淮南","h.黄山","l.六安","m.马鞍山","s.宿州","t.铜陵","w.芜湖","x.宣城","h.亳州"]);
dsy.add("0_1_0",["a.安庆市","h.怀宁县","q.潜山县","s.宿松县","t.太湖县","t.桐城市","w.望江县","y.岳西县","z.枞阳县"]);
dsy.add("0_1_16",["x.利辛县","m.蒙城县","w.涡阳县","h.亳州市"]); dsy.add("0_2",["f.福州","l.龙岩","n.南平","n.宁德","p.莆田","q.泉州","s.三明","x.厦门","z.漳州"]);
dsy.add("0_2_0",["c.长乐市","f.福清市","f.福州市","l.连江县","l.罗源县","m.闽侯县","m.闽清县","p.平潭县","y.永泰县"]);
dsy.add("0_2_5",["a.安溪县","d.德化县","h.惠安县","j.金门县","j.晋江市","n.南安市","q.泉州市","s.石狮市","y.永春县"]); dsy.add("0_29_8",["苍南县","洞头县","乐清市","平阳县","瑞安市","泰顺县","温州市","文成县","永嘉县"]);
dsy.add("0_29_9",["舟山市","岱山县","嵊泗县"]);
dsy.add("0_30",["重庆"]);
dsy.add("0_30_0",["城口县","大足县"]);
//-->
</SCRIPT>
<SCRIPT LANGUAGE = JavaScript>
var s = ["s1","s2","s3"];
var opt0 = ["省份","地级市","市、县级市、县"];
function setup()
{
for(i=0;i<s.length;i++)
{
if (i<s.length-1)
{
document.getElementById(s[i]).onchange = new Function("change("+(i+1)+")");
}
document.getElementById(s[i]).onmouseover = function ()
{
this.focus();
};
document.getElementById(s[i]).onkeypress = function ()
{
this.selectedIndex = 0;
var strInitial = String.fromCharCode(event.keyCode).toLowerCase();
this.options.length = 1;
var numIndex = parseInt(this.id.substr(1,1)); var strLevelName;
switch (numIndex)
{
case 1:
strLevelName = "Provinces";
break;
case 2:
strLevelName = "Cities";
break;
case 3:
strLevelName = "Counties";
break;
} var arrCurrent = dsy[strLevelName];
for (var i=0; i<arrCurrent.length; i++)
{
if (arrCurrent[i][0] === strInitial)
{
this.options.add(new Option(arrCurrent[i][1],i));
}
} };
} change(0);
}
//-->
</SCRIPT>
</head>
<body bgcolor="#E0E0E0" onLoad="setup()">
多级关联菜单:
<form name="frm">
<p>
起点城市
<select id="s1">
<option>省份</option>
</select>
<select id="s2">
<option>地级市</option>
</select>
<select id="s3">
<option>市、县级市、县</option>
</select>
</p>
</form>
</body>
</html>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<head>
<title> new document </title>
<meta name="generator" content="editplus" />
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
</head>
<SCRIPT LANGUAGE="JavaScript">
<!--
function Dsy()
{
this.Items = {};
this.Provinces = new Array();
this.Cities = new Array();
this.Counties = new Array();
}
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++)
{
var oSelect = document.getElementById(s[i]);
str += "_"+(oSelect.options[oSelect.selectedIndex].value);
}
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];
var strLevelName;
switch (str.split("_").length)
{
case 1:
strLevelName = "Provinces";
break;
case 2:
strLevelName = "Cities";
break;
case 3:
strLevelName = "Counties";
break;
}
for(i=0; i<ar.length; i++)
{
dsy[strLevelName][i] = ar[i].split(".");
options[length]=new Option(dsy[strLevelName][i][1],i);
} if(v)options[1].selected = true;
}
}
if(++v<s.length){change(v);}
}
}var dsy = new Dsy(); dsy.add("0",["b.北京","a.安徽","f.福建"]); dsy.add("0_0",["b.北京"]);
dsy.add("0_0_0",["b.北京市","d.东城","x.西城","c.崇文","x.宣武","c.朝阳","f.丰台","s.石景山","h.海淀","m.门头沟","f.房山","t.通州","s.顺义","c.昌平","d.大兴","p.平谷","h.怀柔","m.密云","y.延庆"]); dsy.add("0_1",["a.安庆","b.蚌埠","c.巢湖","c.池州","x.滁州","f.阜阳","h.合肥","h.淮北","h.淮南","h.黄山","l.六安","m.马鞍山","s.宿州","t.铜陵","w.芜湖","x.宣城","h.亳州"]);
dsy.add("0_1_0",["a.安庆市","h.怀宁县","q.潜山县","s.宿松县","t.太湖县","t.桐城市","w.望江县","y.岳西县","z.枞阳县"]);
dsy.add("0_1_16",["x.利辛县","m.蒙城县","w.涡阳县","h.亳州市"]); dsy.add("0_2",["f.福州","l.龙岩","n.南平","n.宁德","p.莆田","q.泉州","s.三明","x.厦门","z.漳州"]);
dsy.add("0_2_0",["c.长乐市","f.福清市","f.福州市","l.连江县","l.罗源县","m.闽侯县","m.闽清县","p.平潭县","y.永泰县"]);
dsy.add("0_2_5",["a.安溪县","d.德化县","h.惠安县","j.金门县","j.晋江市","n.南安市","q.泉州市","s.石狮市","y.永春县"]); dsy.add("0_29_8",["苍南县","洞头县","乐清市","平阳县","瑞安市","泰顺县","温州市","文成县","永嘉县"]);
dsy.add("0_29_9",["舟山市","岱山县","嵊泗县"]);
dsy.add("0_30",["重庆"]);
dsy.add("0_30_0",["城口县","大足县"]);
//-->
</SCRIPT>
<SCRIPT LANGUAGE = JavaScript>
var s = ["s1","s2","s3"];
var opt0 = ["省份","地级市","市、县级市、县"];
function setup()
{
for(i=0;i<s.length;i++)
{
if (i<s.length-1)
{
document.getElementById(s[i]).onchange = new Function("change("+(i+1)+")");
}
document.getElementById(s[i]).onmouseover = function ()
{
this.focus();
};
document.getElementById(s[i]).onkeypress = function ()
{
this.selectedIndex = 0;
var strInitial = String.fromCharCode(event.keyCode).toLowerCase();
this.options.length = 1;
var numIndex = parseInt(this.id.substr(1,1)); var strLevelName;
switch (numIndex)
{
case 1:
strLevelName = "Provinces";
break;
case 2:
strLevelName = "Cities";
break;
case 3:
strLevelName = "Counties";
break;
} var arrCurrent = dsy[strLevelName];
for (var i=0; i<arrCurrent.length; i++)
{
if (arrCurrent[i][0] === strInitial)
{
this.options.add(new Option(arrCurrent[i][1],i));
}
}
if (numIndex<3 && this.options.length>1)
{
this.selectedIndex = 1;
change(numIndex);
} };
} change(0);
}
//-->
</SCRIPT>
</head>
<body bgcolor="#E0E0E0" onLoad="setup()">
多级关联菜单:
<form name="frm">
<p>
起点城市
<select id="s1">
<option>省份</option>
</select>
<select id="s2">
<option>地级市</option>
</select>
<select id="s3">
<option>市、县级市、县</option>
</select>
</p>
</form>
</body>
</html>