<script language= "JavaScript ">
var num;
//定义数组
var calArray=new Array();
<%
dim j
j=0
do while not rs1.eof
%>
//将小类表中的所有相关记录存到数组calArray的对应元素中。
calArray[ <%=j%> ]=new Array( " <%=rs1( "smallclass_id ")%> ", " <%=rs1( "smallclass ")%> ", " <%=rs1( "bigclass ")%> ");
<%
j=j+1
rs1.movenext
loop
rs1.movefirst
%>
//给num赋值为记录总数
num= <%=j%>
function givevalue(myvalue){
/*当选择大类列表的值不为空时首先清空小类下拉列表的所有项目。不然小类列表中的项目会叠加的。
同时也是初始化 options 的值为0 */
document.form.smallclass.length = 0;
//循环写出请求的大类所对应的小类。
for (i=0;i < num; i++)
{
if (calArray[i][2] == myvalue)
{
document.form.smallclass.options[document.form.smallclass.length] = new Option(calArray[i][1], calArray[i][1], " ", " ");
/*定义新的Option对象并赋值。options的索引值从0开始。new Option对象有4个属性,对应分别是:文本串、value、defaultSelect、selected。在这里只用了第一个和第二个。*/
}
}
}
</script>
下面是列表:
<tr>
<td align= "right " bgcolor= "#809E61 " class= "test "> 问题大分类: </td>
<td align= "left " bgcolor= "#D6EDD8 " class= "test "> <select
name= "bigclass " size= "1 " class= "TextBorder " id= "bigclass " onChange= "givevalue(document.form.bigclass.options[document.form.bigclass.selectedIndex].value) ">
<option selected value= " "> 请选择 </option>
<%do while not rs.eof%>
<option value= " <%=rs( "bigclass ")%> "> <%=rs( "bigclass ")%> </option>
<%
rs.movenext