我想要的東西很簡單:JQtree:關聯的URL與節點
一個jQuery插件呈現一棵樹是可摺疊。我想保存狀態。我想控制初始狀態是什麼。我希望它看起來非常漂亮。而當用戶點擊一個鏈接,我希望它在那裏導航。簡單。
它在我看來像Jqtree是我正在尋找,但通過所有的文檔看,我沒有看到簡單的情況下指出與樹中的節點一起去的URL。
- 鑑於我要求你同意Jqtree是正確的解決方案
- 是否有一個有效樣本的地方,我可以看看,看看我的情況是如何處理的
謝謝!
我想要的東西很簡單:JQtree:關聯的URL與節點
一個jQuery插件呈現一棵樹是可摺疊。我想保存狀態。我想控制初始狀態是什麼。我希望它看起來非常漂亮。而當用戶點擊一個鏈接,我希望它在那裏導航。簡單。
它在我看來像Jqtree是我正在尋找,但通過所有的文檔看,我沒有看到簡單的情況下指出與樹中的節點一起去的URL。
謝謝!
節點只是Javascript對象,所以你應該能夠爲url添加另一個屬性。因此,舉例來說,適應什麼jqTree網站是:
var data = [
{
label: 'node1',
url: 'MyUrl.html',
children: [
{ label: 'child1', url: 'anotherURL.html' },
{ label: 'child2', url: 'andAnotherURL.html' }
]
},
{
label: 'node2',
url: 'www.your.get.the.point.com',
children: [
{ label: 'child3', url: 'google.com' }
]
}
];
現在,很明顯jqTree默認不會用這個做什麼,所以你必須處理,但任何時候,你都能夠獲得一個節點,你應該能夠檢索它的.url
:
var theURL = myNode.url;
因此,舉例來說,它看起來像jqTree有tree.click event:
$('#tree1').bind(
'tree.click',
function(event) {
// The clicked node is 'event.node'
var node = event.node;
var theURL = node.url;
if (theURL) {
location.href = theURL;
}
}
);
對於posterit Ÿ,我會建議這樣做,以保持項目爲本地鏈接,以保持打開新標籤/窗口,複製網址等的能力。
(假設您的節點具有url存儲像其他答案)
$tree.tree({
data = whatever;
onCreateLi: function(node, $li) {
$li.find('.jqtree-title').wrap('<a href="' + node.url + '"></a>');
}
});
UPDATE:
這是快兩倍多,這是一個大問題我的大樹!
onCreateLi: function(node, $li) {
var a = $li.find('span')[0];
a.outerHTML = '<a href="' + node.href + '">' + a.outerHTML + '</a>';
}
「你應該能夠爲網址添加另一個屬性」:太棒了! –