2012-04-09 9 views
1

ノードの作成後にJavaスクリプトプロンプトからの値を使用してノードタイトルの名前を変更できますか?jsTreeノードを作成し、JSプロンプトを使用してノードタイトルを改名する

![ユーザーは右クリックして、木の上に新しいノードを作成]、[1] は後に新しいノードを作成し、ユーザが自動的にポップアップするメニューを移動して入力するように要求するノード名

ユーザーの新しい作成ノード:http://i.stack.imgur.com/X6hIl.png

、ユーザが入力新しいノード名にプロンプ​​トが表示されます。http://i.stack.imgur.com/WJmJw.png

とノード名は、自動的にユーザーからの値から、名前を変更します

ポップアップ画面は実際にデータベースからクエリ操作を行い、特定の文字列をノードタイトルとして返すためです。

これらは、ツリーのコンテキストメニューからポップアップを取得するスクリプトです。

$(function() { 
     $("#demo1").jstree({ 
    "plugins" : [ "themes", "html_data", "crrm", "contextmenu" ] 
     }) 
     .bind("rename_node.jstree", function (e, data) {  
    var data = prompt("enter node name "); 
     }); 
    }); 

答えて

2

rename_nodeイベントハンドラにバインドする必要はありません。コンテキストメニュー「名前を変更」オブジェクトを書き換えて、独自のカスタム関数を実行することができます。

$(function() { 
$("#demo1").jstree({ 
    "contextmenu" : { 
     items : { // Could be a function that should return an object like this one 
      "create" : false, 
      "rename" : { 
          "_class"   : "myClass", 
          "separator_before" : false, 
          "separator_after" : false, 
          "label"    : "Rename Node", 
          "action"   : function (obj) { 
                //Do some action here or pass the object to another function 
                //ex: myFunc(obj); 
                $(obj).find("a:first").text("My new node label."); 
               } 
         }, 
      "remove" : false, 
      "ccp" : false 
     } 
    }, 
    "plugins" : [ "themes", "html_data", "crrm", "contextmenu" ] 
}); 
}); 
関連する問題