0

如果树未展开,则无法获取树的节点。我是这样使用的。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);
     }
 });

}

4

1 回答 1

0

因为您没有提供任何代码,所以对这里发生的事情进行了疯狂的猜测。我认为您有一个通过 ajax 异步加载的树存储,并且存储中的节点尚未加载到用户页面,这就是 javascript 无法找到它们的原因。

于 2013-02-14T18:23:24.753 回答