Не могу получить новый родительский идентификатор в событии вставки, для функции копирования / вставки в jstree
Я пытаюсь реализовать функцию копирования / вставки в моих папках в jstree. Проблема в том, что в событии вставки, когда я получаю доступ к родительскому идентификатору, он дает мне идентификатор старого родительского узла папки. Мне нужен новый parent_id узла, в который вставляется папка. Когда я реализую событие вырезания, за которым следует событие вставки, я могу получить новый parent_id, получив его в событии вставки, но, к сожалению, я не могу получить то же самое для копирования / вставки. Как я могу получить новый parent_id? Пожалуйста, дайте мне знать. Спасибо. Я ценю вашу помощь! Лог операторов в коде выглядит следующим образом:
.on('copy_node.jstree', function (e, data) {
console.log(" copy event ");
console.log(" type : "+data.node.type);
console.log(" id : "+data.node.id);
console.log(" text : "+data.node.text);
console.log(" new parent id : "+data.node.parent)
}).on('paste.jstree', function (e, data) {
console.log(" paste event ");
console.log(" parent id : "+data.node[0].parent);
console.log(" parents id : "+data.node[0].parents);
console.log(" tree node id : "+data.node[0].id);
console.log(" type : "+data.node[0].type);
})
The output seen is as follows:
copy event
type : default
id : j1_5
text : New node
new parent id : j1_2
paste event
parent id : j1_1
parents id : j1_1,#
tree node id : j1_4
type : default
ОБРАТИТЕ ВНИМАНИЕ: я получаю новый parent_id в событии копирования, то есть 'j1_2', но я не могу получить его в событии вставки. Я хочу, чтобы этот новый parent_id сохранялся в БД. Событие вставки показывает parent_id как 'j1_1', который является старым parent_id скопированного узла.
2 ответа
В paste
событие вы можете найти идентификатор старого родителя здесь: data.node[0].original.parent
(Я предполагаю, что вы вставляете один узел, следовательно, node[0]
).
Проверьте скрипку: JS Fiddle