Javascript实现下拉列表连动,提示:Arraynotdefined

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
有一个应用,要求一个下拉列表(class1)的变化触发另一个依赖列表(class2)的变化。参照《下拉框连动(数据库版)》,有以下程序片段:

<%   sql = "select id, name, substring(id,1,2) bigclass from classone where type='1' order by id"
   set rs = session("conn").execute(sql)
%>

<script language="javascript">
   var onecount = 0;
   subcat = new array();    <--------- 提示:array 未定义------------

   <%    count = 0
   do while not rs.eof      <--------- rs 已经是前面定义的recordset
   %>
   subcat[<%=count%>] = new array("<%=trim(rs("name"))%>","<%=trim(rs("bigclass"))%>","<%=trim(rs("id"))%>");
   <%    count = count+1
      rs.movenext
      loop
      rs.close
      set rs = nothing
   %>
   onecount = <%=count%>

   function chgcls(){
      for (var i=document.search.class2.options.length; i>0; i--){
         document.search.class2.options[i]=null;
      }
      for (i = 0; i<onecount; i++){
         bigclass = "'"&subcat[i][1]&"'";
         if (document.search.class1.options[document.search.class1.selectedindex].value==bigclass){
         document.search.class2.options[document.search.class2.length]=new option(subcat[i,0],subcat[i,2]);
         }
      }
   }
</script>

下面是调用该函数的html语句:
。。。
<form id="search" name="search" method="post" action="query.asp">
<select name="class1" size=1 width=16 οnchange="chgcls(document.search.class1.options[document.search.class1.selectedindex].value)">
   <%
   response.write "<option selected value='></option>"
   sql="select id,name from classone where substring(id,3,1)=' order by id"            '取设备代码的前两位
     set menurs=session("conn").execute(sql)
     do while not menurs.eof
        response.write "<option value="&trim(menurs("id"))&">"&trim(menurs("name"))&"</option>"
        menurs.movenext
     loop
     menurs.close
     set menurs=nothing   
    %></select>

   <select name="class2" size=1 width=16>
   <option selected value=""></option>
   </select>
.....
</form>

问题1:我在加入下列javascript 后,“array 未定义”不再出现,是否是javascript 本身的要求,还是与浏览器的版本有关?(我用ie4)
function array() {    
   this.length = array.arguments.length
   for (var i = 0; i< this.length; i++)      this[i+1] = array.arguments[i];   
}


问题2:但是却 提示
    document.search.class1.options[...].value 不是对象
    为什么?
.......
< <script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值