2016-08-31 8 views
1

Я использую jsTree для создания двух таблиц содержимого (A и B), я перемещаю узлы от A до B, и я хочу получить json из дерева B чтобы сохранить его в базе данных каждый раз, когда я бросаю узел в дереве B, но когда я получаю json в событии drop, он получает только json без нового узла.jsTree: получить новое дерево JSON каждый раз, когда я удаляю узел

Мне нужно получить дерево с включенным новым узлом. Я получаю JSON в событие «dnd_stop.vakata» с этим кодом:

$(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:

//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 в порядке, здесь - https: // js fiddle.net/ermakovnikolay/twd4g853/ –

+0

@NikolayErmakov Я видел ваш код, и я не вижу, где вы получаете обновленный json. – Nazkter

+0

Извините, не удалось сохранить изменения. Проверьте серый div под деревьями –

ответ

1

Через некоторое время я понял, что jsTree был не обновляется раз в то время, когда «dnd_stop.vakata» проходит событие, это происходит несколько миллисекунд позже, чтобы решить эту проблему на локальном хосте я добавил следующие строки:

$(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); 
}); 

 Смежные вопросы

  • Нет связанных вопросов^_^