日期:2014-05-16  浏览次数:20411 次

js中如何调用遍历集合变量
现在在jsp里有一个ArrayList类型的变量recordList,里面存储了若干个人的信息.我想在js里调用并遍历打出数据,现在调用出来了,打印出所有数据了,但类型被定为了字符串.打印长度时显示的是所有字符的长度,而且打印每个人的信息(a[i])都显示为undefined,请问如何解决呢?
<script   language= "javascript ">
var   a= ' <%=recordList%> '
alert( "rsList: "+a);
alert( "a.length; "+a.length);
for   (i=0;i <a.length;i++   )
{
alert( "record: "+a[i]);
}
</script>

------解决方案--------------------
不是很明白lz的意思。

你可以这样直接定义js数组

<?
$ary = "[ 'a ', 'b ', 'c '] ";
?>
<script language= "javascript ">
var a= <%=ary;%>
alert( "rsList: "+a);
alert( "a.length; "+a.length);
for (i=0;i <a.length;i++ )
{
alert( "record: "+a[i]);
}
</script>
------解决方案--------------------
<% String s = "[ ";

while(rs.next()){
s += "[ " + rs.getString(1)+ ", "+rs.getString(2)+ "] ";
}
s+= "] ";
%>

<script language= "javascript ">
var a= <%= s %> ;
alert( "recordList: "+a.join()); 这里可以显示出所有的数据.
alert( "recordList.length; "+a.length); 这里显示的是recordList里所有字符的个数