不是很明白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>
$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>
<% ArrayList recordList = new ArrayList();
连接数据库,进行查询....返回结果集rs
while(rs.next()){
ArrayList record = new ArrayList();
record.add(rs.getString(1));
record.add(rs.getString(2));
recordList.add(record);
}
%>这时候我希望在下面的js脚本里调用并遍历recordList
<script language="javascript">
var a= '<%=recordList%>'
alert("recordList:"+a); 这里可以显示出所有的数据.
alert("recordList.length;"+a.length); 这里显示就不对了,显示的是recordList里所有字符的个数,而我希望得到的是记录的个数
for (i=0;i<a.length;i++ )
{
alert("record:"+a[i]); 这里输出的是undefined,我觉的是不是因为把a作为了一个String,输出length的时候就是看它的字符数,请问有什么办法可以解决吗?
}
</script>
s += "[" + rs.getString(1)+","+rs.getString(2)+"]";
}
s+= "]";
%><script language="javascript">
var a= <%= s %>;
alert("recordList:"+a.join()); 这里可以显示出所有的数据.
alert("recordList.length;"+a.length); 这里显示的是recordList里所有字符的个数
s += "[\"" + rs.getString(1)+"\",\""+rs.getString(2)+"\"]";
}
s+= "]";
%><script language="javascript">
var a= <%= s %>;
alert("recordList:"+a.join()); 这里可以显示出所有的数据.
alert("recordList.length;"+a.length); 这里显示的是recordList里所有字符的个数
alert(a[0][1]);//显示的是rs[0][1]
我举个例子,大家再帮我看看.比如说recordList里存储的是多个人的信息,类似["aa",1,"bb"],["bb",2,"cc"]的集合,record里存的是某个人的信息,类似["aa",1,"bb"].我希望传递recordList这个集合变量,而不是字符串.但是现在我用js脚本接收的是时候是把recordList作为字符串了,所以打印recordList.length,得到的是所有字符的数量,打印每个记录的数据得到的都是空,而我希望得到的是record的个数.以及每个record里的具体的内容.
....
}