【问题标题】:Issue in appending a child nodes in jqtree after successfull ajax request成功 ajax 请求后在 jstree 中附加子节点的问题
【发布时间】:2016-01-06 14:24:50
【问题描述】:

我在将子节点附加到树时遇到问题。情景是, 我想使用 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 成功函数会正确接收输出,但它会覆盖整个树结构,然后显示该单击节点的新结构。 我想将子结构附加到以前的节点结构中,请建议我如何实现这一点

【问题讨论】:

    标签: javascript jquery ajax tree jqtree


    【解决方案1】:

    你试过append node函数吗?

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

    【讨论】:

    • 是的。我以同样的方式做到了。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2015-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多