回复:
这个就能实现你的需求
<html>
<head>
<title>二级联动下拉表单试验</title>
<!--=======打开数据库======-->
<!--#include file="conn.asp"-->
</head>
<body>
<form name="addart" method="post">
<select name="class1" onChange="javascript:changeclass2();">
<option value="" selected>选择一级目录</option>
<%
Sql="Select * From col where isart"
Set Rs=Server.CreateObject("ADODB.RecordSet")
Rs.Open Sql,Conn,1,1
do while not rs.eof
Response.write "<option value='"&rs("col_id")&"'>"&rs("col_name")&"</option>"
rs.movenext
loop
Response.write "</select>"
Rs.Close
Set Rs = Nothing
Sql="Select * From cat where isart"
Set Rs=Server.CreateObject("ADODB.RecordSet")
Rs.Open Sql,Conn,1,1
do while not rs.eof
str=str&rs("col_id")&"-"&rs("cat_id")&"-"&rs("cat_name")&","
rs.movenext
loop
Rs.Close
Set Rs = Nothing
%>
<select name="class2">
<option value="" selected>选择二级目录</option>
</select>
<input name="price" type="text" id="price">
</form>
<!--下面是实现动态改变下一级菜单的脚本代码-->
<script LANGUAGE="javascript">
arr="<%=str%>".split(",");
a=arr.length
ar=new Array()
for (i=0;i<a;i++){
ar[i]=arr[i].split("-");
}
function changeclass2() {
document.addart.class2.length=1
lid=addart.class1.value;
document.addart.price.value=lid
for (i=0;i<a;i++) {
if (ar[i][0] == lid) {
document.addart.class2.options.add(new Option(ar[i][2],ar[i][1]));
}
}
}
</script>
</body>
</html>