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