Jquery 在jstree中的contextmenu之外动态重命名树节点
我使用下面的代码在contextmenu之外的jstree中成功地创建了一个新的树节点。我的问题是,如何在contextmenu之外以类似的方式动态重命名树节点中的文本?是否有一个.jstree(“rename”…)函数可以被调用来完成这个任务?非常感谢Jquery 在jstree中的contextmenu之外动态重命名树节点,jquery,rename,jstree,treenode,Jquery,Rename,Jstree,Treenode,我使用下面的代码在contextmenu之外的jstree中成功地创建了一个新的树节点。我的问题是,如何在contextmenu之外以类似的方式动态重命名树节点中的文本?是否有一个.jstree(“rename”…)函数可以被调用来完成这个任务?非常感谢 $("#RequirementsTree").jstree("create", null, "last", {"data" : "new_node_text", "state" : "open",
$("#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特定的代码,但我还是想出了一种jquery方法来绕过内置的“rename_node”和“set_text”方法,因为它们不适合我。我想我会在这里发布我的答案,以防其他人也有同样的问题:
$(Node).find("a").text("the_new_text_for_the_node_you_want_to_rename");
这对我有用。它基本上抓住li下面的锚元素并为其设置文本。我使用的是JStree1.0-rc3版本。下面的语法适用于我:
$('#companyFields_tree').jstree('rename_node', '#0', 'testNewName' );
有一个决定:
很快,默认情况下jsTree会阻止其树中的任何更改,因此您必须启用:
$('#YourJSTree').jstree({ core: { check_callback: 'true' }, [...]
以下句子有效:
$(“#demo1”).jstree('set#u text',node,text) 也许最好从jstree站点获取一个文档列表,如果它有能力的话,它会马上给出概要。我在那里查看并尝试了$(“#RequirementsTree”)。重命名_节点(ReqNode,“test”);但是,那没用。我不知道交易是什么。我尝试了你建议的两种选择,但都不奏效。我知道我得到了li元素,因为我可以更改它的类,但是“rename_node”和“set_text”出于某种原因不起作用。我是否应该为该特定节点使用li元素以外的其他元素?@TheDude“node”需要处于
$(“#demo1”).jstree('rename#node',[node],text)代码>然后它工作了。它只是暂时显示出来。。当您实际再次进行编辑时,它会将文本设置为默认文本。。看一看