2015-01-29 1 views
2

나는 내 웹 사이트에 멋진 트리 솔루션이 있으며 특정 노드를 트리거하는 버튼이 필요합니다.Fancytree 버튼 클릭시 노드 활성화

버튼에서 특정 노드를 활성화하거나 멋진 트리가로드 된 후에 트리거 할 수 있습니까?

내 fancytree 코드 :

$("#tree").fancytree({ //Fancy Tree 
     checkbox: false, 
     selectMode: 3, 
     extensions: ["dnd"], 
     source: { 
      url: "@(Url.Action("GetCategoryForFancyTree", "LinksDocuments"))" + '?time=' + timestamp, 
       success: function(data){ 

        console.log(data); 
       }, 
       cache: true 
      } 
    }); 

는이 코드가 어쩌면 내가 사용할 수 있지만 내가 키를 검색 할 수있는 방법 내가, 노드의 노드 키를 잘 모릅니다 해달라고했다?

$("#tree").fancytree("getTree").getNodeByKey("id4.3.2").setActive(); 

답변

4

.getNodeByKey는 node 요소의 "id"를 예상하고 있습니다. 예를 들어 다음과 같은 예에서 "샘플 노드"를 얻을 그냥 각 요소에 대한 ID를 설정합니다

<div id="tree"> 
    <ul> 
     <li id="123">Sample Node</li> 
    </ul> 
</div> 

하고 활성화하기 위해이 같은 것을 사용 : 나는이를 추가하는 것이 좋습니다

$("#tree").fancytree("getTree").getNodeByKey("123").setActive(); 

을 "init : function() {}"그렇지 않으면 트리가 아직로드/빌드 중이면 활성화되지 않을 수 있습니다.

"init :"에서 다음을 사용할 수도 있습니다. 동일한 작업을 수행해야합니다. 당신이 이미 모르는 경우

data.tree.activateKey("123") 

마지막으로, 키를 얻을 수 있습니다 :.

click: function (event, data) { 
    var node = data.node; 
    alert("ID: " + node.key); 
} 
+0

'$ ("# 트리") fancytree ("getTree") (false)를 activateKey을'대한. 활성화 된 노드 재설정 – Sergey