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 に答える