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