Asp教程

通过asp实例结合结合ACCESS,MSSQL来更好的深入Asp学习 - 爬坡者

« JS调用随机显示SQLserver数据库记录ASP+JS三级联动下拉菜单[调用数据库数据] »

ASP三级联动下拉菜单(调用数据库数据)

'-- '数据库结构
'类别1表名称:thatchina_class_1 字段:class1_id,class1_name 说明:class1_id为主键是类别1的ID值,class1_name为类别1的名称
'类别2表名称:thatchina_class_2 字段:class2_id,belongto_class1,class2_name 说明:class2_id为主键是类别2的ID值,belongto_class1为所属类别1的ID值,classs2_name为类别2的名称
'类别3表名称:thatchina_class_3 字段:class3_id,belongto_class1,belongto_class2,class3_name说明:class3_id为主键是类别3的ID值,belongto_class1为所属类别1的ID值,belongto_class2为所属类别2的ID值,class3_name为类别3的名称

<%
Set conn = Server.CreateObject("ADODB.Connection")
strsql="PROVIDER=SQLOLEDB;DATA SOURCE=数据库IP;UID=数据库id;PWD=lg5816081;DATABASE=数据库名"
conn.Open strsql
%>

%>
<!-- 三级联动菜单 开始 -->
<script language="JavaScript">
<!--
<%
Dim count2,rsClass2,sqlClass2
set rsClass2=server.createobject("adodb.recordset")
sqlClass2="select * from thatchina_class_2" 
rsClass2.open sqlClass2,conn,1,1
%>
var subval2 = new Array();
<%
count2 = 0
do while not rsClass2.eof
%>
subval2[<%=count2%>] = new Array('<%=rsClass2("belongto_class1")%>','<%=rsClass2("class2_id")%>','<%=rsClass2("class2_name")%>')
<%
count2 = count2 + 1
rsClass2.movenext
loop
rsClass2.close
%>

<%

Dim count3,rsClass3,sqlClass3
set rsClass3=server.createobject("adodb.recordset")
sqlClass3="select * from thatchina_class_3" 
rsClass3.open sqlClass3,conn,1,1
%>
var subval3 = new Array();
//数组结构:二级根值,三级根值,三级显示值
<%
count3 = 0
do while not rsClass3.eof
%>
subval3[<%=count3%>] = new Array('<%=rsClass3("belongto_class2")%>','<%=rsClass3("class3_id")%>','<%=rsClass3("class3_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">

三级联动:
<%
Dim count1,rsClass1,sqlClass1
set rsClass1=server.createobject("adodb.recordset")
sqlClass1="select * from thatchina_class_1" 
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("class1_id")&">"&rsClass1("class1_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>

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Spirit Build 80710

Copyright 2007-2008 papozhe.com [asp教程] All Rights Reserved.
浙ICP备07030537号
免责申明:所有文章除特别声明,均来自网上,主要为学习用!内容仅供参考,版权归原作者。如侵犯您利益,请来信告知.
Email:papozhe$Gmail.com QQ:76336503