动态重命名树节点文本菜单以外的jstree(Renaming a tree node dynamic

2019-09-28 13:39发布

我用下面的代码成功创建在jstree一个新的树节点的ContextMenu之外。 我的问题是你怎么能动态地重命名树节点的文本以类似的方式在文本菜单之外? 是否有一个.jstree(“重命名” ....)功能,可以调用做到这一点? 非常感激!

$("#RequirementsTree").jstree("create", null, "last", {"data" : "new_node_text",
                  "state" : "open",
                  "attr" :  { "id" : "new_node_id", "name" : "requirement" }, 
 });

我已经试过如下:

        .bind("select_node.jstree", function(event, data) {
            ReqNode = data.rslt;

 $("#RequirementsTree").rename_node(ReqNode, "test");

这并不然而工作。 是不是我做错了吗?

Answer 1:

这应该为你工作:

$("#demo1").jstree('set_text', [node , text] );
$("#demo1").jstree('rename_node', [node , text] );

JSTree核心文档...

如何-可以-I-重命名-A-jstree节点



Answer 2:

我使用jsTree 1.0 RC3版本。 下面的语法为我工作:

 $('#companyFields_tree').jstree('rename_node', '#0', 'testNewName' );


Answer 3:

下面的建议通过Mortalus并没有为我工作。 虽然我更喜欢留的jstree特定代码的范围之内,我想出了一个排序的jQuery黑客绕过内置的“rename_node”和“set_text”方法,因为它们并没有为我工作。 我想我会在这里发布我的回答的情况下,其他人有同样的问题:

   $(Node).find("a").text("the_new_text_for_the_node_you_want_to_rename");

这对我的作品。 它基本上抓住Li下锚元素,设置文本它。



Answer 4:

还有的决定: https://groups.google.com/forum/#!topic/jstree/cq9wzW9Ia3s

不久,在默认情况下jsTree防止他的树的任何变化,所以你必须启用:

$('#YourJSTree').jstree({ core: { check_callback: 'true' }, [...]


Answer 5:

下列各句中的作品:
$( “#demo1的”)jstree( 'set_text',节点,文本)。



文章来源: Renaming a tree node dynamically outside of contextmenu in jstree