1

以下のコードを使用して、コンテキストメニューの外の 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");

しかし、それはうまくいきませんでした。私が間違っていることはありますか?

4

5 に答える 5

2

これはあなたのために働くはずです:

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

JSTree コア ドキュメント...

jstree ノードの名前を変更する方法

于 2012-09-15T08:17:22.847 に答える
1

jsTree 1.0-rc3 バージョンを使用しています。以下の構文は私にとってはうまくいきました:

 $('#companyFields_tree').jstree('rename_node', '#0', 'testNewName' );
于 2013-12-19T15:52:38.350 に答える
0

次の文が機能します:
$("#demo1").jstree('set_text', node , text);

于 2015-07-15T09:50:05.250 に答える
0

Mortalus による以下の提案は、私にとってはうまくいきませんでした。jstree 固有のコードの範囲内にとどまることが私の好みですが、組み込みの「rename_node」および「set_text」メソッドを回避するための一種の jquery ハックを思いつきました。他の人が同じ問題を抱えている場合に備えて、ここに回答を投稿すると思いました。

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

これは私にとってはうまくいきます。基本的に、li の下のアンカー要素を取得し、そのテキストを設定します。

于 2012-09-15T13:09:34.067 に答える