********************** (一) 打開記錄集,創建數組,把記錄集的值賦給數組.
<%
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>