2013-02-27 4 views
1

NODE 옵션 인 expand = false를 사용하여 dynatree를 만듭니다. 그러나 내가 나무를 볼 때, 그것은 처음에 소비 된 모든 것을 보여줍니다. 초기 단계에서 모든 붕괴와 함께 나무를 얻는 법. 아래 내가 초기화에 AJAX를 사용하여 전체 트리를 확장,하지만 어쩌면 내 코드의 수정이 당신을 도울 것입니다 내 dynatree에서 내 코드Dynatree가 로딩시에 사용됩니다.

$(function(){ 
      // Attach the dynatree widget to an existing <div id="tree"> element 
      // and pass the tree options as an argument to the dynatree() function: 
      $("#tree").dynatree({ 
       onActivate: function(node) { 
        // A DynaTreeNode object is passed to the activation handler 
        // Note: we also get this event, if persistence is on, and the page is reloaded. 
        //alert("You activated " + node.data.key); 
       }, 
       persist: false, 
       checkbox: true, 
       generateIds: false, 

       classNames: { 
        checkbox: "dynatree-checkbox", 
        expanded: "dynatree-expanded" 
       }, 
       selectMode: 3, 
       children: {!JsonString}, 
       onSelect: function(select, node) { 
        // Get a list of all selected nodes, and convert to a key array: 
        var selKeys = $.map(node.tree.getSelectedNodes(), function(node){ 
         return node.data.key; 
        }); 
        jQuery(document.getElementById("{!$Component.selectedKeys}")).val(selKeys.join(", ")); 

        // Get a list of all selected TOP nodes 
        var selRootNodes = node.tree.getSelectedNodes(true); 
        // ... and convert to a key array: 
        var selRootKeys = $.map(selRootNodes, function(node){ 
         return node.data.key; 
        }); 
       }, 

      }); 

     }); 
+0

당신이에 조금 명확하게 할 수 있습니다 문제? [faq] (http://stackoverflow.com/faq)를 읽어보십시오. – Freakyuser

답변

1

입니다 :

onPostInit: function(isReloading, isError) { 
    this.$tree.dynatree('getRoot').visit(function(node){ 
     node.expand(false); 
    }); 
}