2014-06-13 6 views
1

트리에 자식 노드를 추가하는 데 문제가 있습니다. 시나리오 : ajax 호출을 사용하여 노드 화살표 onclick에 트리 노드를로드하려고합니다. 그래서 트리 구조를 얻는 것은 처음에는 루트 레벨 노드를 트리에 전달하고 트리는 정상적으로 작동하지만 화살표를 클릭하면 아약스 호출을 위해 노드 계층 구조의 다음 단계가 필요하지만 이전 트리 구조.성공적인 Ajax 요청 후 jqtree에 자식 노드를 추가 할 때 발생하는 문제

<script type="text/javascript"> 
$(document).ready(function() { 
$(function() { 
     var $tree = $('#themes'); 
     $tree.tree({ 
      autoOpen: false, 
        dataUrl: "{% url 'get_root_hierarchy' grpid node.pk %}", 
      }); 

     $tree.bind(
      'tree.open', 
      function(event) { 
       var node = event.node;     
       $.ajax({ 
        async : true, 
        type: "GET", 
        url: "{% url 'get_hierarchy' grpid %}?id=" + node.id, 
        datatype: "html", 
        success: function(data) { 
             var data = $.parseJSON(data) ; 
             $tree.tree({ 
              data:data 
             });   
        } 

       }); 
      } 
     ); 

    }); 

}); 
</script> 

<div id="themes"> </div> 

내가 아약스 호출에 대한 화살표를 클릭,이 조작 및 자식 노드 계층 구조를 보내, 아약스 성공 기능이 제대로 출력을 수신하지만 다음 쇼를 전체 트리 구조를 무시하고 :

나는이 그 클릭 된 노드의 새로운 구조. 이전 노드 구조에 자식 구조를 추가하고 싶다면 그 방법을 알려주십시오.

답변

0

append node 함수를 사용해 보셨습니까?

success: function(data) { 
    var data = $.parseJSON(data) ; 
     $tree.tree(
     'appendNode', data, node 
    ); 
    } 
+0

예. 나는 같은 방식으로 해냈다. 감사 . –