index.asp文件的内容如下:
<%
'汉南在线 http://hnzx.hzwz.net
'先建立一个数据库如:hzwznet.mdb
'SMT_ypaddone 一级分类表:SMT_addone_id,SMT_addone
'SMT_ypaddtwo 二级分类表:SMT_addtwo_id,SMT_addtwo_id,SMT_addtwo
'SMT_ypaddthere 三级分类表:SMT_addthere_id,SMT_addtwo_id,SMT_addthere
%>
<!--#include file="conn.asp"-->
<%
dim count
set rs=server.createobject("adodb.recordset")
sql="select * from SMT_ypaddtwo"
rs.open sql,conn,1,3
%>
<script language = "JavaScript">
var onecount;
onecount=0;
subcat = new Array();
<%
count = 0
do while not rs.eof
%>
subcat[<%=count%>] = new Array("<%= trim(rs("SMT_addtwo"))%>","<%= trim(rs("SMT_addone_id"))%>","<%= trim(rs("SMT_addtwo_id"))%>");
<%
count = count + 1
rs.movenext
loop
rs.close
%>
onecount=<%=count%>;
function changelocation(locationid)
{
document.form.SMT_addtwo_id.length = 0;
var locationid=locationid;
document.form.SMT_addtwo_id.options[0] = new Option('二级分类', '');
var i;
for (i=0;i < onecount; i++)
{
if (subcat[i][1] == locationid)
{
document.form.SMT_addtwo_id.options[document.form.SMT_addtwo_id.length] = new Option(subcat[i][0], subcat[i][2]);
}
}
}
</script>
<%
sql = "select * from SMT_ypaddthere"
rs.open sql,conn,1,1
%>
<script language = "javascript">
var onecount2;
onecount2=0;
subcat2 = new Array();
<%
count2 = 0
do while not rs.eof
%>
subcat2[<%=count2%>] = new Array("<%= trim(rs("SMT_addthere"))%>","<%= trim(rs("SMT_addtwo_id"))%>","<%= trim(rs("SMT_addthere_id"))%>");
<%
count2 = count2 + 1
rs.movenext
loop
rs.close
%>
onecount2=<%=count2%>;
function changelocation2(locationid)
{
document.form.SMT_addthere_id.length = 0;
var locationid=locationid;
var j;
document.form.SMT_addthere_id.options[0] = new Option('三级分类','');
for (j=0;j < onecount2; j++)
{
if (subcat2[j][1] == locationid)
{
document.form.SMT_addthere_id.options[document.form.SMT_addthere_id.length] = new Option(subcat2[j][0], subcat2[j][2]);
}
}
}
</script>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>JS三级连动下拉框</title>
</head>
<body>
<form name="form" method="post" action="">
<select name="SMT_addone_id" onChange="changelocation(document.form.SMT_addone_id.options[document.form.SMT_addone_id.selectedIndex].value);changelocation2(document.form.SMT_addtwo_id.options[document.form.SMT_addtwo_id.selectedIndex].value);">
<option selected>一级分类</option>
<%
sql="select * from SMT_ypaddone"
rs.open sql,conn,1,1
do while not rs.eof
%>
<option value="<%=rs("SMT_addone_id")%>"><%=rs("SMT_addone")%></option>
<%
rs.movenext
loop
rs.close
%>
</select>
<select name="SMT_addtwo_id" onChange="changelocation2(document.form.SMT_addtwo_id.options[document.form.SMT_addtwo_id.selectedIndex].value);">
<option selected>二级分类</option>
</select>
<select name="SMT_addthere_id">
<option selected>三级分类</option>
</select>
</form>
</body>
</html>
<%
set rs=nothing
conn.close
set conn=nothing
%>
conn.asp的内容如下:
<%
dim db,conn,connstr
On Error Resume Next
db="hzwz.mdb"
set Conn = server.CreateObject("ADODB.Connection")
connstr="driver={Microsoft Access Driver (*.mdb)};dbq="& server.MapPath(""&db&"")
conn.Open connstr
%>