studied1234 2009-08-27 19:31
浏览 235
已采纳

treepanel中遇到的一点问题

今日创建了一个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:[...

  • 写回答

1条回答 默认 最新

  • wanghaolovezlq 2009-08-27 19:47
    关注

    json=response.responseText得到的只是字符串啊,又不是js对象

    你可以把字符串转换成js对象

    children : eval("(" + json + ")");

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?