子ノードをツリーに追加する際に問題があります。シナリオは、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 成功関数は出力を適切に受け取りますが、ツリー構造全体をオーバーライドし、クリックしたノードの新しい構造を表示します。子構造を前のノード構造に追加したかったので、それを達成する方法を教えてください