2011-07-22 64 views
0

我已經創建了一個與正確的菜單進一步有一個子菜單dynatree。要求是這樣的:點擊子菜單的任何一個項目時,子菜單項應該代替被激活的樹節點。 Followin是繪畫視圖:如何用新節點替換dynatree節點?

ABC 
DEF 
GHI-> Lets say on right click of GHI, we have a context menu->XYZ which further has a sub-menu-> PQR. Now what I want is that on click of PQR, it should replace GHI. 

我編寫了下面的代碼來創建樹和上下文菜單。

$(function(){ 
     $("#tree").dynatree({ 

      initAjax: { 
       url: "sample-data1.json" 
       } , 
      onActivate: function(node) { 
       $("#echoActive").text(node.data.title); 

      }, 
      onDeactivate: function(node) { 
       $("#echoActive").text("-"); 
      } 


     }); 
    }); 

function ReplaceTest() { 
       var tree = $("#tree").dynatree("getTree"); 


       } 


    function Replace() 
      { 
       var f = function(){ReplaceTest();}; 
       setTimeout(f,0); 

      } 

<div> 
    <ul id="myMenu" class="contextMenu"> 
      <li><a href="#">Employee Data</a> 
      <ul>   
    <li><a href="#" onclick="Replace()">Name</a></li>   
    <li><a href="#" onclick="Replace()">Desig</a></li>   
    <li><a href="#" onclick="Replace()">ID</a></li>   
    <li><a href="#" onclick="Replace()">Mob</a></li>   
    </ul> 
      </li> 
    </ul> 
</div> 

在上面的代碼中,我已經在子菜單項上給出了onclick()方法,但無法繼續執行此操作。請幫忙。

回答

4

如果要重命名當前節點,您可以使用

var node = $("#tree").dynatree("getActiveNode"); 
node.data.title = "My new title"; 
node.render(); 
+0

我如何應用此工具提示? – 2rs2ts