在jstree中的contextmenu之外动态重命名树节点

我使用下面的代码在contextmenu之外的jstree中成功创建一个新的树节点。 我的问题是如何在上下文菜单之外以类似的方式动态重命名树节点中的文本? 是否有一个.jstree(“rename”….)函数可以被调用来完成这个? 非常感激!

$("#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"); 

但是,这没有用。 有什么我做错了吗?

这应该适合你:

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

JSTree核心文档……

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

我正在使用jsTree 1.0-rc3版本。 下面的语法对我有用:

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

Mortalus的以下建议对我不起作用。 虽然我倾向于保持在jstree特定代码的范围内,但我提出了一种jquery hack来绕过内置的“rename_node”和“set_text”方法,因为它们不适合我。 我想我会在这里发布我的答案以防其他人有同样的问题:

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

这对我有用。 它基本上抓住li下面的锚元素并为其设置文本。

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

不过,默认情况下,jsTree会阻止其树中的任何更改,因此您必须启用:

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

以下句子有效:
$(“#demo1”)。jstree(’set_text’,node,text);