2012-04-09 62 views
1

可以在節點創建後使用java腳本提示中的值重命名節點標題嗎?jsTree創建節點,使用JS提示重命名節點標題

![用戶點擊鼠標右鍵,創建樹新節點] [1] 創建新的節點後,用戶會自動轉到彈出菜單,並要求輸入節點名稱

用戶創建新節點:http://i.stack.imgur.com/X6hIl.png

提示用戶輸入新的節點名稱:http://i.stack.imgur.com/WJmJw.png

和節點名稱將從值自動重命名從用戶

t他這樣做的目的是因爲彈出屏幕實際上將從數據庫執行查詢操作並將特定字符串作爲節點標題發送回

這些是從樹狀結構菜單中獲取彈出窗口的腳本。

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