我用session传出来一个二维数组! 怎么在js中解析这个二维数组? 数组只有用分隔符分开变成字符串存放在文本框中,然后用JavaScript的split函数还原成数组访问. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你就在服务器端把s2Type输出转换成js的数组就可以了嘛 先在jsp 中将session数组中的值赋给一个变量,中间用,号隔开然后在js中将这个jsp中的变量赋给 js中的一个变量, 利用split 函数将变量还原成数组,之后你想干吗就干吗了! 同意楼上,先将JAVA的数组变量转到JS变量中.第二维的变量用分隔符拼起来.var s2Type = new Array(<%=n2len%>);<%for(int i = 0;i < n2len;i++){%> s2Type[<%=i%>] = <%=s2Type[i]%>;<%}%> 不好意思,上面方法有错误.var s2Type = new Array(<%=n2len%>);<%for(int i = 0;i < n2len;i++){%> s2Type[<%=i%>] = <%=s2Type[i][0]%> + "分隔符" + <%=s2Type[i][1]%>;<%}%> 你可能不清楚服务器和客户端的概念 , asp程序,也就是<%,%>之间内容是在服务器端编译执行的 , 一旦执行完毕以后就成了一个静态的网页, 然后把这个静态的网页传到了客户端, 从此,服务器端就与客户端没有任何联系 。 。 。 在客户端响应用户操作的是javascript 。从上面可以知道 , asp是无法直接用javascript的值的 。 。 。所以你用s2dldm = "<%=s2Type[i][0]%>"; 时,里面的i是javascript里的变量,即在客户端才运行的变量,你在服务器端当然不能引用 。 。 。 最好的办法是利用javascript数组临时存放asp的数组,然后在客户端调用的时候,直接调用javascript里的数组就可以了例子如下:<% var mar = new Array(); mar[0] = "a" ; mar[1] = "b" ; mar[2] = "c" ; mar[3] = "d" ;%><script>var test = new Array();<% for(var n = 0 ; n < mar.length ;n ++) { str = "test["+n+"]='" + mar[n] +"';"; Response.Write(str); }%>alert(test[2]);</script>如果你仔细就会发现,上面的代码经过服务器编译以后,传到客户端时代码就变成了:<script>var test = new Array();test[0]='a';test[1]='b';test[2]='c';test[3]='d';alert(test[2]);</script> JS控制DIV显示与隐藏问题 javascript隐藏table的一个td tr 循环问题 利用jquery写Ajax调用Action问题 javascript初学者关于二维数组输出的提问 有什么简便的写法根据传递来的值指定下拉框的默认值是哪一个 iframe的访问对于mozilla的兼容性问题 怎么动态改变改变控件的大小和在页面的位置? 各位!怎么去掉IE窗口上的最小化。最大化按钮。急急 jQuery被360浏览器广告拦截 大家看看这个问题够不够难 请问在opera 或Netscape 实现类似window.showModalDialog()的功能,怎么实现;
var s2Type = new Array(<%=n2len%>);
<%for(int i = 0;i < n2len;i++){%>
s2Type[<%=i%>] = <%=s2Type[i]%>;
<%}%>
var s2Type = new Array(<%=n2len%>);
<%for(int i = 0;i < n2len;i++){%>
s2Type[<%=i%>] = <%=s2Type[i][0]%> + "分隔符" + <%=s2Type[i][1]%>;
<%}%>
从上面可以知道 , asp是无法直接用javascript的值的 。 。 。
所以你用s2dldm = "<%=s2Type[i][0]%>"; 时,里面的i是javascript里的变量,即在客户端才运行的变量,你在服务器端当然不能引用 。 。 。 最好的办法是利用javascript数组临时存放asp的数组,然后在客户端调用的时候,直接调用javascript里的数组就可以了
例子如下:
<%
var mar = new Array();
mar[0] = "a" ;
mar[1] = "b" ;
mar[2] = "c" ;
mar[3] = "d" ;
%>
<script>
var test = new Array();
<%
for(var n = 0 ; n < mar.length ;n ++)
{
str = "test["+n+"]='" + mar[n] +"';";
Response.Write(str);
}
%>
alert(test[2]);
</script>如果你仔细就会发现,上面的代码经过服务器编译以后,传到客户端时代码就变成了:
<script>
var test = new Array();
test[0]='a';test[1]='b';test[2]='c';test[3]='d';
alert(test[2]);
</script>