javascript中的二维数组

今天在看项目代码的时候,碰到了一个二维数组的应用,之前对二维数组不是特别的熟悉,将这段代码贴出来,以备以后的使用。具体使用如下:

就是有两个下拉列表框,首先加载的是大类,当选中相对于的大类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>                                                                                             

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值