如果树未展开,则无法获取树的节点。 我是这样使用的。 tree.getNodeById(ID);
提前感谢!
解决:这是我使用的代码。
node_ids = [search_node_id,parent1_node_id,parent2_node_id]
function select_node(node_ids,length,evt,e){
var node=leftnav_treePanel.getNodeById(node_ids[length]); //length is length of node_ids list
var ajaxReq = ajaxRequest(node.attributes.url,0,"GET",true);
ajaxReq.request({
success: function(xhr) {
var response=Ext.util.JSON.decode(xhr.responseText);
if(length>0){
removeChild(node); // method to remove existing childnodes
appendChild(response.nodes,node); // method to add child nodes from response
node.expand();
select_node(node_ids,length-1,evt,e);
}else{
node.fireEvent(evt,node,e);
}
},
failure: function(xhr){
Ext.MessageBox.alert( _("Failure") , xhr.statusText);
}
});
}
答案 0 :(得分:0)
对此处发生的事情进行疯狂猜测,因为您没有提供任何代码。我认为您通过ajax有一个异步加载的treestore,并且商店中的节点尚未加载到用户页面,这就是为什么javascript无法找到它们。