答案:********************** (一) 打开记录集,创建数组,把记录集的值赋给数组.
<%
Dim count
set Rs=server.createobject("adodb.recordset")
Sql = "select * from BookBoard order by ClassId desc"
Rs.open Sql,cn,1,1%>
<script language = "JavaScript">
var onecount;
onecount=0;
subcat = new Array();
<%count = 0
do while not Rs.eof %>
subcat[<%=count%>] = new Array("<%= trim(Rs("BoardName"))%>","<%= trim(Rs("ClassId"))%>","<%= trim(Rs("BoardId"))%>");
<%count = count + 1
Rs.movenext
loop
Rs.close%>
onecount=<%=count%>;
function changelocation(locationid)
{document.form1.BoardId.length = 0;
var locationid=locationid;
var i;
for (i=0;i < onecount; i++)
{if (subcat[i][1] == locationid)
{document.form1.BoardId.options[document.form1.BoardId.length] = new Option(subcat[i][0], subcat[i][2]);
}}}
</script>
********************** (二) 显示分组,并编写列表框的OnChange事件.
<%set Rs=server.CreateObject("adodb.recordset")
Sql="select * from BookClass order by ClassId desc"
Rs.open Sql,cn,1,1
if Rs.eof and Rs.bof then
response.write "请先添加总类。"
response.end
else%>
<select name="ClassId" onChange="changelocation(document.form1.ClassId.options[document.form1.ClassId.selectedIndex].value)">
<option selected value="">==请选择大类==</option>
<% do until Rs.eof%>
<option value="<%=trim(Rs("ClassId"))%>"><%=trim(Rs("ClassName"))%></option>
<%Rs.movenext
loop
end if
Rs.close
set Rs = nothing%>
</select>
<select name="BoardId"><option selected value="">==请选择小类==</option>
</select>
上一个:asp下如何在ADO服务器端利用好缓存技术?
下一个:Asp下实现限制IP访问的程序代码