2016-08-31 10 views
1

jsTreeを使用して2つのコンテンツテーブル(AとB)を作成しています。ノードをAからBに移動し、ツリーBのjsonを取得します。ツリーBにノードをドロップするたびにデータベースに保存しますが、ドロップイベントでjsonを取得すると、新しいノードなしでjsonのみが取得されます。jsTree:ノードをドロップするたびに新しいツリーを取得する

新しいノードが含まれたツリーを取得する必要があります。私はこのコードでイベント「dnd_stop.vakata」でJSONを取得する:jsTreeがあったことを私が実現しばらく

//jsTree "A": 
$('#JSTreeServicios').jstree({ 
     'core': { 
      "check_callback": false, 
      'data': tree 
     }, 
     "dnd": { 
      "always_copy": true, 
     }, 
     "plugins": ["dnd", "search", "types", "contextmenu", "sort"] 
    }); 


//jsTree "B": 
$('#JSTreeTOC').jstree({ 
     'core': { 
      "check_callback": true, 
      'data': tree 
     }, 
     "plugins": ["dnd", "search", "types", "sort", "contextmenu"] 
    }); 
+0

私はJSON無事更新取得しています:右の「dnd_stop.vakata」イベントが実行される時に更新されていない、私が次の行を追加したローカルホスト上の問題を解決するために、後に数ミリ秒を起こりますここ - https:// js fiddle.net/ermakovnikolay/twd4g853/ –

+0

@NikolayErmakov私はあなたのコードを見て、私はあなたが更新されたJSONを取得しているか分かりません。 – Nazkter

+0

申し訳ありません、変更を保存しませんでした。木々の下にある灰色の部分を確認する –

答えて

1

$(document).on('dnd_stop.vakata', function (e, data) { 
    var json = $("#JSTreeTOC").jstree(true).get_json(); 
    console.log(JSON.stringify(json)); 
    // Here I want to make an AJAX call to save the tree in database 
}); 

Addicionally、これはjstreeを作成するための私のコードです、

$(document).on('dnd_stop.vakata', function (e, data) { 
    setTimeout(function(){ 
     var json = $("#JSTreeTOC").jstree(true).get_json(); 
     console.log(JSON.stringify(json)); 
     // Here I make an AJAX call to save the tree in database 
    }, 100); 
}); 
関連する問題