当前位置: 代码迷 >> ASP >> onchange()事件出错解决方法
  详细解决方案

onchange()事件出错解决方法

热度:488   发布时间:2012-03-02 14:40:29.0
onchange()事件出错
<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            
  相关解决方案