我已经通过这样的方法在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没有定义!
请问为什么????要以何定义,要在那里输出才可以??
在代码中可以看得到输出上面的代码是放在了最顶上!
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没有定义!
请问为什么????要以何定义,要在那里输出才可以??
在代码中可以看得到输出上面的代码是放在了最顶上!
{
} 你的这两行代码怎办
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' 为空或不是对象
请问这是什么原因呀??
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>");