2013-04-18 76 views
0

我正在使用帶有上下文菜單選項的jquery-dynatree。在jquery dynatree中,當我點擊懶惰節點時,節點類被刪除

對於上下文菜單中的一個菜單項,我需要顯示整個子樹作爲選擇。 即選擇的節點及其所有的孩子,我能做到這一點使用下面的代碼:

node.visit(function(childnode){ 
    $(childnode.span).addClass("copy"); // <== This works 
}); 

現在我有2個問題:

1)第一個問題是我懶節點選項,所以每當我點擊菜單項,我需要顯示爲選定的整個子樹中,我使用下面的代碼

node.visit(function(childnode){ 
    childnode.expand(true); // <== This works 
    $(childnode.span).addClass("copy"); // <== Does not work 
}); 

,但它不完全工作,它只是擴展高達級別的節點我已初始化,也在擴展之後,它不會將所需的CSS類「複製」添加到自身或兒童節點。

2)第二個問題是,一旦我手動擴展了所有節點並選擇了父節點,以便使用class「copy」顯示整個子樹,現在無論何時單擊任何父級懶惰節點來檢索這些子節點時, 「複製」類將從這些選定節點中刪除

期待解決此問題的一些提示。

回答

0

我已經得到了第一點的解決方案,因爲我正在嘗試在摺疊模式下單擊父級,所以在擴展其子節點之前,必須首先展開節點本身。

node.expand(true); // This line was missing, it made the things work 
       node.visit(function(childnode){ 
        childnode.expand(true); 
        $(childnode.span).addClass("copy"); 
       });