2013-03-07 51 views
0

我使用一些代碼以編程選擇dynatree的根節點(只有一個在它),即jQuery Dynatree,按標題選擇一個子節點?

 $("#divDynaTree").dynatree("getRoot").visit(function (node) { 
     node.select(true); 
    }); 

我有多個「父」和「子」節點的第二dynatree,和當我在應用程序中使用單獨的事件(按鈕單擊)時,想要以編程方式選擇其中一個「孩子」。我想使用子節點的標題,但是很難找到正確的語法。我確實在這個網站上探索了其他dynatree線程,並且還沒有找到我正在尋找的東西(或者它很接近,但是我的經驗不足導致我無法看到它)。我假設代碼將類似於上面,使用「訪問」..但我不確定此後在哪裏。任何幫助,將不勝感激。

回答

2

試試這個選擇所有子節點:

$(function(){ 
    var inEventHandler = false; 
    $("#tree").dynatree({ 
     checkbox: true, 
     selectMode: 2, 
     [...] 
     onSelect: function(select, dtnode) { 
      // Ignore, if this is a recursive call 
      if(inEventHandler) 
       return; 
      // Select all children of currently selected node 
      try { 
       inEventHandler = true; 
       dtnode.visit(function(childNode){ 
        childNode.select(true); 
       }); 
      } finally { 
       inEventHandler = false; 
      } 
     } 

或按名稱搜索節點:

var match = null; 
tree.visit(function(node){ 
    if(node.data.title === "foo"){ 
     match = node; 
     return false; // stop traversal (if we are only interested in first match) 
    } 
}); 
alert("Found " + match); 
+0

我以前見過這個代碼塊,但是這不正是我想要做。我只希望通過標題選擇一個子節點,直到發生與樹本身沒有連接的按鈕單擊爲止。謝謝你的回覆,儘管 – 2013-03-07 17:29:18

+0

嘗試連接兩個code.you會得到答案。 – Amrendra 2013-03-07 17:30:26

+0

謝謝Amrendra,我會試試這個! – 2013-03-07 17:34:33