網上三級菜單多是多但是代碼都比較煩,我這個應該說還是比較直觀的:
'肯定先要連接數據庫了,不用說了
'數據庫結構
'類別1表名稱:a字段:ID,Name說明:ID為主鍵是類別1的ID值,Name為類別1的名稱
'類別2表名稱:aa字段:ID,aID,Name說明:ID為主鍵是類別2的ID值,aID為所屬類別1的ID值,Name為類別2的名稱
'類別3表名稱:aaa字段:ID,aID,aaID,Name說明:ID為主鍵是類別3的ID值,aID為所屬類別1的ID值,aaID為所屬類別2的ID值,Name為類別3的名稱
=====test1.asp你可以測試下,接收到的都是類別的ID值====
<%
response.write"1:"&Request.form("s1")&"<BR>"
response.write"2:"&Request.form("s2")&"<BR>"
response.write"3:"&Request.form("s3")&"<BR>"
%>
複製代碼代碼如下:
<!--三級聯動菜單開始-->
<scriptlanguage="JavaScript">
<!--
<%
'二級數據保存到數組
Dimcount2,rsClass2,sqlClass2
setrsClass2=server.createobject("adodb.recordset")
sqlClass2="select*fromaa"
rsClass2.opensqlClass2,conn,1,1
%>
varsubval2=newArray();
//數組結構:一級根值,二級根值,二級顯示值
<%
count2=0
dowhilenotrsClass2.eof
%>
subval2[<%=count2%>]=newArray('<%=rsClass2("aID")%>','<%=rsClass2("ID")%>','<%=rsClass2("Name")%>')
<%
count2=count2+1
rsClass2.movenext
loop
rsClass2.close
%>
<%
'三級數據保存到數組
Dimcount3,rsClass3,sqlClass3
setrsClass3=server.createobject("adodb.recordset")
sqlClass3="select*fromaaa"
rsClass3.opensqlClass3,conn,1,1
%>
varsubval3=newArray();
//數組結構:二級根值,三級根值,三級顯示值
<%
count3=0
dowhilenotrsClass3.eof
%>
subval3[<%=count3%>]=newArray('<%=rsClass3("aaID")%>','<%=rsClass3("ID")%>','<%=rsClass3("Name")%>')
<%
count3=count3+1
rsClass3.movenext
loop
rsClass3.close
%>
functionchangeselect1(locationid)
{
document.form1.s2.length=0;
document.form1.s2.options[0]=newOption('==請選擇類別==','');
document.form1.s3.length=0;
document.form1.s3.options[0]=newOption('==請選擇專題==','');
for(i=0;i<subval2.length;i++)
{
if(subval2[i][0]==locationid)