ASP实现省,大学二级联动(转,改)

今天在公司里项目里要用到二级联动,还是ASP的,ASP.NET的话就好搞定。好长时间没有动过ASP了。

在网上找了些资料改了改。实现了这个功能,代码如下:

ASP二级联动
省表:sheng:sid,stitle.学校表:cid,ctitle,sid

<!--#include file="../sub/conn.asp"-->
<html><head><title></title>
<script type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
   eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
   if (restore) selObj.selectedIndex=0;
}
//-->
</script>
</head>

<body>
<form method="post" name="myform" id="myform" >
<select name="first" onChange="MM_jumpMenu('parent',this,0)">
<%
sqlt2 = "select * from sheng"
set rst2=server.createobject("adodb.recordset")
rst2.open sqlt2,conn,0,1
if rst2.eof or rst2.bof then
response.write "<option>-请选择-</option>" '如果没有记录,就显示-----
else
while not(rst2.eof or rst2.bof) '有记录,就将父名称列出来,形成下拉。
   %>
   <option value="?sec=<%=rst2("sid")%>&class_1=<%=rst2("stitle")%>" <%if cstr(rst2("sid")) = request.querystring("sec") then %>selected<%end if%>><%=rst2("stitle")%></option>
   <%rst2.movenext
wend
rst2.movefirst '将游标移到第一条,以备下面之用。
end if
%>
</select>
<input name="class_1" type="hidden" id="class_1" value="<%=request("class_1")%>">
<select name="second">
<%
if rst2.eof or rst2.bof then
response.write ("<option>-请选择-</option>")
else
if request.querystring("sec") = "" then '获取跳转之后的sec值
   temp=rst2("sid")' 如果为空,就把temp的值设为第一条记录的值
else
   temp = request.querystring("sec") '否则就为收到的值
end if
   subsql = "select * from school where sid="&temp&""
   set subrs=server.createobject("adodb.recordset")
   subrs.open subsql,conn,0,1
   if subrs.eof or subrs.bof then
   response.write ("<option>-请选择-</option>")
   '如果没有记录,则在这个列表中显示"-----"
   else
   while not(subrs.eof or subrs.bof)'否则就用循环列出一切符合条件的记录。
   response.write ("<option value=" & subrs("ctitle") & ">" & subrs("ctitle") & "</option>")
   subrs.movenext
   wend
   end if
end if

'关闭所有的记录集
subrs.close
set subrs = nothing
rst2.close
set rst2 = nothing
%>
</select>
</form>


</body>
</html>

posted @ 2008-05-06 16:29  Astar  阅读(590)  评论(0编辑  收藏  举报