我已经通过这样的方法在html输出了定义了这个数组:
Response.Write("<script language=\"javascript\">");
Response.Write( "var sele_yqmc_js[][2] = new Array();");
for(int j=0;j<i;j++)
{  
Response.Write("sele_yqmc_js["+j+"][0]='"+sele_yqmc[j,0]+"';");
Response.Write("sele_yqmc_js["+j+"][1]='"+sele_yqmc[j,1]+"';");
}
Response.Write("</script>");但为什么在我html中onchange="javascript:select_yqmc(sele_yqmc_js);"这个时候总是提示出错:sele_yqmc_js没有定义!
请问为什么????要以何定义,要在那里输出才可以??
在代码中可以看得到输出上面的代码是放在了最顶上!

解决方案 »

  1.   

    for(int j=0;j<i;j++)
    {  

    } 你的这两行代码怎办
      

  2.   

    你试试看var sele_yqmc_js[][2] = new Array();在html页面的效果你就明白了
      

  3.   

    var select_yqmc="aa,bb,dd,cc,ee,ff,ii,tt,";
    function select_yqmc(sele_yqmc)
    {
             var new_sele_yqmc=sele_yqmc.split(",");
             var sele_yqmc_js = new Array();
              sele_yqmc_js[0]=new Array();
              sele_yqmc_js[1]=new Array();
              var j=0;
              for(var i=0;i<new_sele_yqmc.length-1;i+=2)
              { 
                sele_yqmc_js[j][0]=new_sele_yqmc[i];
                sele_yqmc_js[j][1]=new_sele_yqmc[i+1];
                j=j+1;
              }
    }
    当我执行的时候可以取得到:
       selec_yqmc_js[0][0]="aa";
       selec_yqmc_js[0][1]="bb";
       selec_yqmc_js[1][0]="cc";
       selec_yqmc_js[1][1]="dd";
    当i=4时,即执行到第三次的时候就提示:'undefined' 为空或不是对象
    请问这是什么原因呀??
      

  4.   

    Response.Write("<script language=\"javascript\">");
    Response.Write( "var sele_yqmc_js[][2] = new Array();");
    for(int j=0;j<i;j++)
    {  
    Response.Write("sele_yqmc_js[0]["+j+"]='"+sele_yqmc[j,0]+"';");
    Response.Write("sele_yqmc_js[1]["+j+"]='"+sele_yqmc[j,1]+"';");
    }
    Response.Write("</script>");