ASP+JS三級聯動下拉菜單

'肯定先要連接數據庫了,不用說了

'數據庫結構

'類別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>"

%>

=========================================================

<!-- 三級聯動菜單 開始 -->

<script language="JavaScript">

<!--

<%

'二級數據保存到數組

Dim count2,rsClass2,sqlClass2

set rsClass2=server.createobject("adodb.recordset")

sqlClass2="select * from aa"

rsClass2.open sqlClass2,conn,1,1

%>

var subval2 = new Array();

伊圖教程網[www.etoow.com]

http://www.etoow.com/html/2007-02/1170469109.html

//數組結構:一級根值,二級根值,二級顯示值

<%

count2 = 0

do while not rsClass2.eof

%>

subval2[<%=count2%>] = new Array('<%=rsClass2("aID")%>','<%=rsClass2("ID")%>','<%=rsClass2("Name")%>')

<%

count2 = count2 + 1

rsClass2.movenext

loop

rsClass2.close

%>

<%

'三級數據保存到數組

Dim count3,rsClass3,sqlClass3

set rsClass3=server.createobject("adodb.recordset")

sqlClass3="select * from aaa"

rsClass3.open sqlClass3,conn,1,1

%>

var subval3 = new Array();

//數組結構:二級根值,三級根值,三級顯示值

<%

count3 = 0

do while not rsClass3.eof

%>

subval3[<%=count3%>] = new Array('<%=rsClass3("aaID")%>','<%=rsClass3("ID")%>','<%=rsClass3("Name")%>')

<%

count3 = count3 + 1

rsClass3.movenext

loop

rsClass3.close

%>

function changeselect1(locationid)

{

document.form1.s2.length = 0;

document.form1.s2.options[0] = new Option('==請選擇類別==','');

document.form1.s3.length = 0;

document.form1.s3.options[0] = new Option('==請選擇專題==','');

for (i=0; i<subval2.length; i++)

{

if (subval2[i][0] == locationid)

{document.form1.s2.options[document.form1.s2.length] = new Option(subval2[i][2],subval2[i][1]);}

}

}

function changeselect2(locationid)

{

document.form1.s3.length = 0;

document.form1.s3.options[0] = new Option('==請選擇專題==','');

for (i=0; i<subval3.length; i++)

{

if (subval3[i][0] == locationid)

{document.form1.s3.options[document.form1.s3.length] = new Option(subval3[i][2],subval3[i][1]);}

}

}

//-->

</script>

<form name="form1" method="post" action="test1.asp">

伊圖教程網[www.etoow.com]

http://www.etoow.com/html/2007-02/1170469109-1.html

三級聯動:

<%

Dim count1,rsClass1,sqlClass1

set rsClass1=server.createobject("adodb.recordset")

sqlClass1="select * from a"

rsClass1.open sqlClass1,conn,1,1

%>

<select name="s1" onChange="changeselect1(this.value)">

<option>==請選擇頻道==</option>

<%

count1 = 0

do while not rsClass1.eof

response.write"<option value="&rsClass1("ID")&">"&rsClass1("Name")&"</option>"

count1 = count1 + 1

rsClass1.movenext

loop

rsClass1.close

%>

</select>

<select name="s2"onChange="changeselect2(this.value)">

<option>==請選擇類別==</option>

</select>

<select name="s3">

<option>==請選擇專題==</option>

</select>

<input type="submit" name="Submit" value="提交"></form>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章