2013-09-09 4 views
3

Я хочу вызвать событие щелчка моего узла jsTree. Код, который я написал ниже, делает это. Моя проблема заключается в том, что после запуска события узел не выделяется.Как выделить узел jsTree?

$("#myTreeId li[id=" + myLiId + "] a").click(); 
$("#myTreeId li[id=" + myLiId + "] a").addClass('jstree-clicked'); 

Как я могу это сделать? Заранее благодарен

ответ

1

Вы можете использовать функцию jstree selectNode; с помощью которого запускается функция select_node.jstree.

Код:

$("#tree").jstree("select_node", "#30"); 

Идентификатор используется в качестве второго параметра является атрибут идентификатора используется для заполнения каждого узла дерева; очевидно, данные, которые вы используете для заполнения дерева, должны включать атрибут id.

Пример кода:

$("#tree").jstree({ 
    "json_data": { 
     "data": [{ 
      "data": "pe_opensourcescanning", 
       "attr": { 
       "id": 77, 
        "pId": -1 
      }, 
       "children": [{ 
       "data": "tags", 
        "attr": { 
        "id": 30, 
         "pid": 0 
       } 
      }, { 
       "data": { 
        "title": "branches" 
       }, 
        "attr": { 
        "id": 29, 
         "pid": 0 
       } 
      }] 
     }] 
    }, 
     "plugins": ["themes", "json_data", "ui"] 
}) 

$("#tree").bind(
    "select_node.jstree", function (evt, data) { 
    console.log('select!'); 
}); 

$("#selectNode").click(function() { 
    $("#tree").jstree("select_node", "#30"); 
}); 

Демо: http://jsfiddle.net/IrvinDominin/UE9Ed/

+0

select_node также отлично работает (выбран узел), но до сих пор не выделены –

+0

Если проверить демо на jsfiddle выделен узел, ваш CSS завершенным? –

+0

Да, ваш код отлично работает. да, я думаю, что мой css завершен. может быть проблема в том, что я вызываю функцию open_node, а затем select_node? –