[英]jsTree Contextmenu get selected node id
嗨,我目前在jsTree上下文菜單上遇到問題。 我想獲取所選節點的ID,但是我查看了許多解決方案,但沒有一個起作用。 我的代碼如下。
我使用tree.get_selected($node)
函數確實返回了所選節點的對象,但是我正在努力訪問該對象的id參數。 在下面,我使用tree.get_selected($node).id
但它說它是undefined
但是當我看控制台時,它顯然不是。
誰能幫我解決我的問題?
$("#tree_1").jstree({
"core" : {
"themes" : {
"responsive": false
},
// so that create works
"check_callback" : true,
'data' : {
'url' : function (node) {
if(node.id=='#') {
var id = 0;
} else {
var id = node.id;
}
return 'organisation/getOrganisationLocations/'+id;
}
}
},
"types" : {
"default" : {
"icon" : "fa fa-folder icon-state-warning icon-lg"
},
"file" : {
"icon" : "fa fa-file icon-state-warning icon-lg"
}
},
"state" : { "key" : "demo3" },
"plugins" : [ "dnd", "state", "types", "contextmenu" ],
"contextmenu":{
"items": function($node) {
var tree = $("#tree_1").jstree(true);
return {
"Create": {
"separator_before": false,
"separator_after": false,
"label": "Create",
"action": function (obj) {
$node = tree.create_node($node);
tree.edit($node);
console.log(tree.get_selected($node).id);
}
},
"Rename": {
"separator_before": false,
"separator_after": false,
"label": "Rename",
"action": function (obj) {
tree.edit($node);
}
},
"Remove": {
"separator_before": false,
"separator_after": false,
"label": "Remove",
"action": function (obj) {
tree.delete_node($node);
}
}
};
}
}
});
這種方法對我有用:
$(node).attr('id')
在jstree聲明上方聲明您的ID(在第1行,輸入var id;)
然后,在data.url函數中,從分配給id的每一行之前刪除var。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.