H
haoshan
Unregistered / Unconfirmed
GUEST, unregistred user!
找了半天也不知哪的错,请大家帮忙看一下.
html文件和数据库如下:
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html;
charset=gb2312">
<meta name="GENERATOR"
content="Microsoft FrontPage 4.0">
<meta name="ProgId"
content="FrontPage.Editor.Document">
<title>多级关联菜单数据库版</title>
</head>
<body>
<form name="frm">
<select name=school onchange="MulSelect(1)"></select>
<select name=department onchange="MulSelect(2)"></select>
<select name=grade onchange="MulSelect(3)"></select>
<select name=student></select>
</form>
<script>
var arrSel=["school","department","grade","student"]
arrData=[];
<%
dim conn,rs
set conn = Server.CreateObject("ADODB.Connection"
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
&
Server.MapPath("test.mdb"
set rs=conn.execute("select * from dbselect"
do while not rs.eof
%>
arrData[arrData.length]=["<%=trim(rs("school")%>","<%=trim(rs("department")%>","<%=trim(rs("grade")%>","<%=trim(rs("student")%>"]
arrdata.length=arrdata.length+1
<%
rs.movenext
loop
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
</script>
<script>
function MulSelect(num){
var find=false
var i,j,arrTemp=[];
for(i=0;i<num;i++){arrTemp=eval("document.frm."+arrSel).value}
if(num<arrSel.length)
with(eval("document.frm."+arrSel[num])){
length=0
for(i=0;i<arrData.length;i++){
for(j=0;j<num;j++)if(arrTemp[j]!=arrData[j])break;
if(j!=num)continue;
if(length==0 &brvbar;
&brvbar;options[length-1].text!=arrData[num]){
for(m=0;m<options.length;m++)if(options[m].text==arrData[num])find=true
if(!find)options[options.length]=new Option(arrData[num],arrData[num])
}
}
MulSelect((num+1))
}
}
MulSelect(0)
</script>
</body>
</html>
test数据库中包含这几个表:
dbselect
id school department grade student
1 一中 初中部 一年级 李里
2 一中 初中部 二年级 王里
3 一中 初中部 二年级 李立
4 一中 高中部 一年级 刘名
5 一中 高中部 一年级 马立
6 一中 高中部 二年级 刘六
7 二中 初中部 一年级 孙名
8 二中 高中部 一年级 张娜
9 二中 高中部 一年级 刘伟
big_class
big_class_id big_class_name
1 一年级
2 二年级
3 三年级
4 四年级
5 五年级
small_class:
small_class_id small_class_name belongto_big_class
1 一一班 1
2 一二班 1
3 一三班 1
4 一四班 1
5 二一班 2
6 二二班 2
7 二三班 2
8 三一班 3
9 三二班 3
10 三三班 3
11 四一班 4
12 四二班 4
13 五一班 5
14 五二班 5
html文件和数据库如下:
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html;
charset=gb2312">
<meta name="GENERATOR"
content="Microsoft FrontPage 4.0">
<meta name="ProgId"
content="FrontPage.Editor.Document">
<title>多级关联菜单数据库版</title>
</head>
<body>
<form name="frm">
<select name=school onchange="MulSelect(1)"></select>
<select name=department onchange="MulSelect(2)"></select>
<select name=grade onchange="MulSelect(3)"></select>
<select name=student></select>
</form>
<script>
var arrSel=["school","department","grade","student"]
arrData=[];
<%
dim conn,rs
set conn = Server.CreateObject("ADODB.Connection"
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
&
Server.MapPath("test.mdb"
set rs=conn.execute("select * from dbselect"
do while not rs.eof
%>
arrData[arrData.length]=["<%=trim(rs("school")%>","<%=trim(rs("department")%>","<%=trim(rs("grade")%>","<%=trim(rs("student")%>"]
arrdata.length=arrdata.length+1
<%
rs.movenext
loop
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
</script>
<script>
function MulSelect(num){
var find=false
var i,j,arrTemp=[];
for(i=0;i<num;i++){arrTemp=eval("document.frm."+arrSel).value}
if(num<arrSel.length)
with(eval("document.frm."+arrSel[num])){
length=0
for(i=0;i<arrData.length;i++){
for(j=0;j<num;j++)if(arrTemp[j]!=arrData[j])break;
if(j!=num)continue;
if(length==0 &brvbar;
&brvbar;options[length-1].text!=arrData[num]){
for(m=0;m<options.length;m++)if(options[m].text==arrData[num])find=true
if(!find)options[options.length]=new Option(arrData[num],arrData[num])
}
}
MulSelect((num+1))
}
}
MulSelect(0)
</script>
</body>
</html>
test数据库中包含这几个表:
dbselect
id school department grade student
1 一中 初中部 一年级 李里
2 一中 初中部 二年级 王里
3 一中 初中部 二年级 李立
4 一中 高中部 一年级 刘名
5 一中 高中部 一年级 马立
6 一中 高中部 二年级 刘六
7 二中 初中部 一年级 孙名
8 二中 高中部 一年级 张娜
9 二中 高中部 一年级 刘伟
big_class
big_class_id big_class_name
1 一年级
2 二年级
3 三年级
4 四年级
5 五年级
small_class:
small_class_id small_class_name belongto_big_class
1 一一班 1
2 一二班 1
3 一三班 1
4 一四班 1
5 二一班 2
6 二二班 2
7 二三班 2
8 三一班 3
9 三二班 3
10 三三班 3
11 四一班 4
12 四二班 4
13 五一班 5
14 五二班 5