jsTree - 无法创建新节点 - 所有其他功能都可以正常工作

use*_*504 3 jstree

取消选择并悬停功能工作fina但不创建/删除/重命名.

做错了什么?

info.json包含5个标记为1到5的节点.

<head>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<link rel="stylesheet" href="jstree\dist\themes\default\style.min.css" />
<script src="jstree\dist\jstree.js"></script>
<script>
$(function() {

$('#test_tree').jstree({
'core' : {
  'data' : {
    'url' : 'info.json',
    'data' : function (node) {
      return { 'id' : node.id };
    }
  }
  }
});
}); 
</script>

</head>
<body>

<div id="container" >

  <div id="nav_bar">
    <button id="create" onclick = "demo_create()">Create</button>
  </div> 
  <div id="test_tree"></div
</div>  

<script>
            function demo_create() {
$.jstree.reference('#test_tree').hover_node('ajson5');
$.jstree.reference('#test_tree').deselect_node('ajson1');
$.jstree.reference('#test_tree').create_node();
            };

</script>

</body>
Run Code Online (Sandbox Code Playgroud)

我在官方网站上使用了相同的例子,但它不起作用感谢您的帮助.

Tro*_*roy 11

首先,为了对树进行更改,核心配置中的checkcallback需要设置为true.

$('#test_tree').jstree({
    'core' : {
        'data' : {
        'url' : 'info.json',
        'data' : function (node) {
            return { 'id' : node.id };
        },
        check_callback : true
    }
}
Run Code Online (Sandbox Code Playgroud)

您至少需要将parent.id传递给create_node函数.

$.jstree.reference('#test_tree').create_node('ajson1');
Run Code Online (Sandbox Code Playgroud)

您可以在jstree网站上查看完整参数列表的API .