编写一个含二级目录的源码(Asp+JavaScript)

  ********************** (一) 打开记录集,创建数组,把记录集的值赋给数组.

  <%

  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>