二级实现了,三级实现不了,思路一样,个人认为XMLHTTP做联动很方便,
解决方案 »
- JS跨域求救
- 哪位可以帮我把这个改成for in 循环,谢谢
- 请问如何用js读取下面asp写的cookie
- 我是新手,请帮忙修改一下以下javascript代码,以实现不同的邮箱登录
- 帮忙解决一个 js脚本验证的方法(急救)
- 請struts高手指教
- checkbox选中和不选中的事件是什么?
- 请问javascipt开发一般用什么开发工具和调试工具
- 真是不好意思,总是麻烦各位,菜鸟真不好当啊
- @@@急急急!!!我愿意出高分求一个java script客户端鼠标点击弹出菜单的例子(再加分)
- 大家跪下谢我吧!我把SUN的《AJAX与J2EE》全文译了(原创)!!!
- 在js中如何实现对<tr>的直接克隆?
<html>
<head>
<title>...</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"><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();
<%
set rs=server.createobject("adodb.recordset")
sql = "select * from wplb"
rs.open sql,conn,1,1
i=0
wplb=""
do while not rs.eof
i=i+1
if i<>1 then wplb=wplb&","
wplb=wplb&""""&rs("wplb")&""""
set rs1=server.createobject("adodb.recordset")
sql = "select * from wpmc where wplb='"&rs("wplb")&"'"
rs1.open sql,conn,1,1
j=0
wpmc=""
do while not rs1.eof
j=j+1
if j<>1 then wpmc=wpmc&","
wpmc=wpmc&""""&rs1("wpmc")&""""
k=0
ggxh=""
set rs2=server.createobject("adodb.recordset")
sql = "select * from ggxh where wpmc='"&rs1("wpmc")&"'"
rs2.open sql,conn,1,1
do while not rs2.eof
k=k+1
if k<>1 then ggxh=ggxh&","
ggxh=ggxh&""""&rs2("ggxh")&""""
rs2.movenext
loop
%>
dsy.add("0_<%=i-1%>_<%=j-1%>",[<%=ggxh%>]);
<%
rs1.movenext
loop
%>
dsy.add("0_<%=i-1%>",[<%=wpmc%>]);
<%
rs.movenext
loop
%>
dsy.add("0",[<%=wplb%>]);dsy.add("0",[<%=wplb%>]);
<%
rs2.close
rs.close
rs1.close
%>//-->
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
var s=["s1","s2","s3"];
var opt0 = ["类别","物品名称","规格型号"];
function setup()
{
for(i=0;i<s.length-1;i++)
document.getElementById(s[i]).onchange=new Function("change("+(i+1)+")");
change(0);
}
//-->
</SCRIPT>
</head>
<body bgcolor="#E0E0E0" onload="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>
高手做的!!1
<html>
<head>
<title>...</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"><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();
<%
set rs=server.createobject("adodb.recordset")
sql = "select * from wplb"
rs.open sql,conn,1,1
i=0
wplb=""
do while not rs.eof
i=i+1
if i<>1 then wplb=wplb&","
wplb=wplb&""""&rs("wplb")&""""
set rs1=server.createobject("adodb.recordset")
sql = "select * from wpmc where wplb='"&rs("wplb")&"'"
rs1.open sql,conn,1,1
j=0
wpmc=""
do while not rs1.eof
j=j+1
if j<>1 then wpmc=wpmc&","
wpmc=wpmc&""""&rs1("wpmc")&""""
k=0
ggxh=""
set rs2=server.createobject("adodb.recordset")
sql = "select * from ggxh where wpmc='"&rs1("wpmc")&"'"
rs2.open sql,conn,1,1
do while not rs2.eof
k=k+1
if k<>1 then ggxh=ggxh&","
ggxh=ggxh&""""&rs2("ggxh")&""""
rs2.movenext
loop
%>
dsy.add("0_<%=i-1%>_<%=j-1%>",[<%=ggxh%>]);
<%
rs1.movenext
loop
%>
dsy.add("0_<%=i-1%>",[<%=wpmc%>]);
<%
rs.movenext
loop
%>
dsy.add("0",[<%=wplb%>]);dsy.add("0",[<%=wplb%>]);
<%
rs2.close
rs.close
rs1.close
%>//-->
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
var s=["s1","s2","s3"];
var opt0 = ["类别","物品","型号"];
function setup()
{
for(i=0;i<s.length-1;i++)
document.getElementById(s[i]).onchange=new Function("change("+(i+1)+")");
change(0);
}
//-->
</SCRIPT>
</head>
<body bgcolor="#E0E0E0" onload="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>