2011-09-15 44 views
1

트리보기에 Dyna Tree 플러그인을 사용하고 있습니다. 이제 JQuery의 Lazyload에있는 모든 노드 펼치기 dynatree

, 내가 게으른로드 기능을 사용하고있는 부모 노드를 확장하면서,

onLazyRead: function(node){ 
    node.appendAjax({ 
    url: TREEVIEW_JSON_URL 
    }); 
} 

는 지금은 모든 자식과 하위 아이가 사람들은 lazyLoad 내 응답에서 사용할 수있는 노드를 확장하고 싶습니다. 현재 시나리오에서는 하위 노드 만 확장 할 수 있습니다.

제발 나를 도와주세요. 사전

당신이 뭔가를 시도 할 수

답변

7

감사드립니다 (하지만 그것을 테스트하지 않은) : 후반 답장이

$("#tree").dynatree({ 
    […] 
    onLazyRead: function(node){ 
     node.appendAjax({url: TREEVIEW_JSON_URL, 
         success: function(node) { 
          // Called after nodes have been created and the waiting icon was removed. 
          // now expand all children 
          node.visit(function(n){ 
           n.expand(true); 
           }); 
          } 
         }); 
    }, 
    […] 
}); 
+0

안녕하세요, 죄송합니다. 샘플 제안을 테스트하기 위해 내 서비스가 중단되었습니다. 제안한 코드를 사용하여 트리 수준이 확장되지만 아약스 지연로드를 통해 자식 노드가 호출됩니다. 아약스 호출을 중지하고 데이터가 존재할 때까지 확장 할 수있는 방법이 있습니까? – Max

+0

'node.hasChildren()'을 호출하여 자식 노드가 있는지 확인할 수 있습니다. 또한 서버가 JSON 데이터에' "expand": true "를 추가하도록 할 수 있는데, 가장 효율적인 방법이 될 것입니다 (JavaScript는 필요하지 않습니다). – mar10

+0

감사합니다, 내 문제가 해결되었습니다. – Max

관련 문제