如何编辑 jsTree 节点并获取新名称?

How to edit a jsTree node and get the new name?

我有一个 JS 树,我想在其中添加节点。添加节点后,我希望用户为其命名。我想使用此名称拨打 AJAX 电话。但是我的代码没有按预期工作。我做错了什么?

tree.on('rename_node.jstree', function(e, data) {
  directory_name = data.text;
})

function createFolder($node) {
  $node = tree.jstree('create_node', $node, { li_attr: { "type": "folder" }});
  tree.jstree('edit', $node);
  $.ajax({
    type: "POST",
    url: new_folder,
    data: {
      'directory_name' : directory_name
    },
    success: function(message) {
      toastr.success(message);
    },
  });
}

这是我在 jsfiddle.net 上找到并改进的代码,用于根据 的答案创建、编辑和获取新名称:

$('#jstree').jstree({
"core" : {
    "check_callback" : true,
    "data" : ["Root"]
 }
});

$('#jstree').on('rename_node.jstree', function (e, data) {
  //data.text is the new name:
  console.log(data.text);
  //MAKE AJAX CALL HERE
});

$('button').click(function () {
     $("#jstree").jstree("create_node", null, null, "last", function (node) {
        this.edit(node);
    });
});

Link: http://jsfiddle.net/DGAF4/5244/