今日创建了一个TreePanel,代码如下:
var tree = new Ext.tree.TreePanel({
renderTo:"tree",
rootVisible: false,
useArrows: false,
lines: false,
singleExpand: false,
width:'100%',
border:false,
autoHeight:true,
loader: new Ext.tree.TreeLoader(),
root: new Ext.tree.AsyncTreeNode({
expanded: true,
id:'aaa',
children:<%=treeRootName%>
})
});
其中treeRootName是通过request.getAttribute获得的一个String值(当然此值在后台生成),运行后这棵树生成正常。然而我想用另外一种方式获得后台生成的此值,我用ajax中var json=response.responseText方法获取到了此值,但后将上面代码改动为children:json,运行后发现并没有生成树,请问大家这是为什么呢?谢谢
补充:经验证用json=response.responseText获取的值确实是后台生成的值,为什么用children:<%=treeRootName%>可以生成但是用children:json却不能呢?
后台生成数据的格式为:
[{text:'test,id:'1',expanded:'true',children:[{text:'test1',id:'2',expanded:'true',children:[...

treepanel中遇到的一点问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- wanghaolovezlq 2009-08-27 19:47关注
json=response.responseText得到的只是字符串啊,又不是js对象
你可以把字符串转换成js对象
children : eval("(" + json + ")");
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报