js怎么遍历后台传到界面的对象数组
比如后台controller向界面传一个List<Object>,然后在js中遍历,以下是在js中遍历List数组动态生成dtree的部分代码<scripttype="t...
比如后台controller向界面传一个List<Object>,然后在js中遍历,以下是在js中遍历List数组动态生成dtree的部分代码
<script type="text/javascript">
d = new dTree('d');
d.add(0,-1,'请选择桥梁');
d.add(1, 0, '请选择桥梁');
var i=2;
for(var j=0;j<${bridges.size()};++j)
{
d.add(i,1,'${bridges.get(j).bridgeName}');
i++;
}
document.write(d);
</script>
为什么循环中一直得到的是第一对象,找不到其他对象,${bridges.get(j).bridgeName}中j的值用具体的数字代替能找到其他对象,这是为什么?急急急急急急。。。。。。。。。。谢谢 展开
<script type="text/javascript">
d = new dTree('d');
d.add(0,-1,'请选择桥梁');
d.add(1, 0, '请选择桥梁');
var i=2;
for(var j=0;j<${bridges.size()};++j)
{
d.add(i,1,'${bridges.get(j).bridgeName}');
i++;
}
document.write(d);
</script>
为什么循环中一直得到的是第一对象,找不到其他对象,${bridges.get(j).bridgeName}中j的值用具体的数字代替能找到其他对象,这是为什么?急急急急急急。。。。。。。。。。谢谢 展开
1个回答
展开全部
恕我见识浅,${}是个什么东西?就算是jquery也应该是$()么。另外针对你的问题,从
d.add(i,1,'${bridges.get(j).bridgeName}');
中可以明显看到,第三个参数是用单引号括起来的,这说明它是一个字符串,应该是在add方法中去eval了,那么肯定的j就只是j了,你应该这么改下再试试。
d.add(i,1,'${bridges.get('+j+').bridgeName}');
追问
你好,你的这个方法提示 Method not found: class java.util.ArrayList.get(java.lang.String),说明j在d.add(i,1,'${bridges.get('+j+').bridgeName}');变字符串。另外,麻烦你尽快教教我怎么解决这个问题?因为这个是毕设,现在比较急,麻烦你了
追答
说实话,没看到你完全的代码,我也不好解决,但正常的方式应该是从服务器端生成json数据来返回到客户端来实现的。js从json中读取的话不就很方便了么。如:
假如从controller中返回的结果为:
[
{ value:'0',text:'一'},
{ value:'1',text:'二'}
]
那么直接var list = eval(result);//result为上面返回的json字符串
for(var obj in list){
d.add(i,value,obj.text);
i++;
}
这样不就可以了么
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询