2015-01-29 3 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 просто ожидает «id» элемента узла. Например, чтобы получить «Sample Node» из следующего примера просто установить идентификатор для каждого элемента:

<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") activateKey (ложь)' для. сбросить активированный узел – Sergey

Смежные вопросы