1

我在将子节点附加到树时遇到问题。场景是,我想使用 ajax 调用加载树节点 onclick 节点箭头。因此,为了获取树结构,最初只是将根级节点传递给树,并且树工作正常,但是当我单击箭头时,它会进行 ajax 调用,它需要下一级节点层次结构,但它会覆盖以前的树形结构。

我有 :

<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>

当我单击箭头进行 ajax 调用时,这会操纵并发送子节点层次结构,ajax 成功函数会正确接收输出,但它会覆盖整个树结构,然后显示该单击节点的新结构。我想将子结构附加到以前的节点结构中,请建议我如何实现

4

1 回答 1

0

您是否尝试过附加节点功能?

success: function(data) {
     var data = $.parseJSON(data) ;
      $tree.tree(
        'appendNode', data, node
      );
   }
于 2016-01-06T06:24:50.970 回答