今天在看项目代码的时候,碰到了一个二维数组的应用,之前对二维数组不是特别的熟悉,将这段代码贴出来,以备以后的使用。具体使用如下:
就是有两个下拉列表框,首先加载的是大类,当选中相对于的大类id的时候,将相对应的小类加载出来,其中加载小类内容的这个部分用的是二维数组。具体代码如下:这段代码并不能运行,我只是把大概的代码给弄过来了,大家在看明白之后,可以自己具体尝试去连接数据库,来自行修改。
<%
dim count
set rs7=server.createobject("adodb.recordset")'连接数据库
rs7.Source= "select * from "& db_EC_SmallClass_Table &" order by E_SmallClassID asc" '查询出所有小类的内容
rs7.open rs7.Source,conn,1,1
%>
<script language = "JavaScript">
var onecount;
onecount=0;
subcat = new Array();
<%
count = 0
do while not rs7.eof '循环查询出小类的集合
%>
subcat[<%=count%>] = new Array("<%=rs7("E_smallclassname")%>","<%=rs7("E_BigClassID")%>","<%=rs7("E_SmallClassID")%>");'根据查询出的小类,来创建多个二维数组
<%
count = count + 1
rs7.movenext
loop
rs7.close
set rs7=nothing
%>
onecount=<%=count%>;
function changelocation(locationid)//当选择大类的时候,调用查询出相对应小类的函数
{
document.myform1.E_SmallClassID.length = 0; //将小类的下拉列表框清空
var locationid=locationid;//获得选中大类的id
var i;
for (i=0;i < onecount; i++)//这个oncecount是所有小类的数量
{
if (subcat[i][1] == locationid)//subcat[i][1] 是获得选择大类的id
{
document.myform1.E_SmallClassID.options[document.myform1.E_SmallClassID.length] = new Option(subcat[i][0], subcat[i][2]);//给小类赋值new Option("text","value")
}
}
}
</script>
<div class=EC_s_cnt>
<form name="myform1" action="#" method="post">
<select name="action" style="width:80px;height:16px;border:1px solid #e4e4e4;color:#fff;background:#292929" align="absmiddle">
<option value="">全部内容</option>
<option value="title">按标题</option>
<option value="content">按内容</option>
<option value="editor">按作者</option>
<option value="about">按关键字</option>
</select>
<select name="E_BigClassID" οnchange="changelocation(document.myform1.E_BigClassID.options[document.myform1.E_BigClassID.selectedIndex].value)" style="border:1 solid #e4e4e4; font-size:9pt; background-color:#ffffff" size="1">
<option selected="selected" value="">全部大类</option>
<%
set rs8=server.CreateObject("ADODB.RecordSet")
rs8.Source="select * from "& db_EC_BigClass_Table &" order by E_BigClassID"
rs8.Open rs8.Source,conn,1,1
do while not rs8.eof
%>
<option value="<%=rs8("E_BigClassID")%>"><%=rs8("E_BigClassName")%></option>
<%
rs8.movenext
loop
rs8.close
set rs8=nothing
%>
</select>
<select name="E_SmallClassID" style="border:1 solid #e4e4e4; font-size:9pt; background-color:#ffffff" size="1" >
<option selected="selected" value="">全部小类</option>
</select>
</form>
</div>
</body>
</HTML>