2013-03-07 4 views
0

Я использую код, чтобы программно выбрать корневой узел (только один в нем) dynatree, т.е.jQuery Dynatree, выберите дочерний узел по названию?

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

У меня есть второй dynatree с несколькими «родителем» и «дети» узлами и хотел бы выбрать один из «детей» программно, когда я использую отдельное событие (нажатие кнопки) в приложении. Я хотел бы использовать заголовок дочернего узла, но мне трудно найти правильный синтаксис для этого. Я исследовал другие потоки dynatree на этом сайте и goodle и еще не нашел точно, что я ищу (или, может быть, это было близко, но моя неопытность заставила меня не увидеть его). Я предполагаю, что код будет похож на предыдущий, используя «visit» .. но я не уверен, куда идти после этого в это время. Любая помощь будет оценена по достоинству.

ответ

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

Я видел этот блок кода раньше, но это не совсем то, что я пытаюсь делать. Я хочу, чтобы только один дочерний узел был выбран по названию, и только до тех пор, пока не произойдет нажатие кнопки, которое в настоящее время не связано с самим деревом. Спасибо за ваш ответ, хотя –

+0

попробуйте подключиться и к коду. Вы получите ответ. – Amrendra

+0

Спасибо, Амрендра, я попробую! –