jstree Узлы отображаются как гиперссылки (теги "a" или "anchor"), если вы правильно настроены. Вы можете привязать некоторый JavaScript к событию выбора узла, например:
jQuery(".foldertree").bind("select_node.jstree", function (e, data) {
// use this to debug: alert("data.rslt.name=" + data.rslt.name + " data.rslt.obj.attr('rel')=" + data.rslt.obj.attr("rel"));
// to get selected node Id and type
var nodeId = data.rslt.obj.attr("id");
var nodeType = data.rslt.obj.attr("rel");
// to get node's immediate parent node
parentId = data.rslt.obj[0].parentNode.parentNode.id;
// use this info to call a method or go to another page
window.location = "somepage.aspx?" + nodeId;
}
Вот как я устанавливаю разные типы узлов с разными значками. Мое дерево представляет документы в папках, поэтому у меня есть типы "default" (Папки) и "form" (Документы):
jQuery(".foldertree")
.jstree({
.
, (различные настройки)
,
"types": {
// -2 means don't check (faster)
"max_depth": -2,
"max_children": -2,
// This will prevent moving or creating any other type as a root node
"valid_children": ["default"],
"types": {
// Folders
"default": {
// can have files and other folders inside of it
"valid_children": ["default", "form"],
"icon": {
"image": "css/jstree/folder.png"
}
},
// Documents (saved forms).
"form": {
// No children (so only leaf nodes)
"valid_children": "none",
// override theme icon
"icon": {
"image": "css/jstree/file.png"
}
},
} // end types (within types)
}, // end types (outer)
"themes":
.
, (и т.д.)
,