2008-11-07 52 views
0

我使用jquery tree plugin来呈现分层数据。如何触发呈现JQuery树视图

我已经编写额外的功能,这将允许用户与该数据交互(如添加/删除节点,节点交换等)

目前该插件支持,只要你想添加任何节点,你可以在这里调用以下方法,

$("#browser").treeview({ 
    add: branches 
}); 

branches与HTML块,这将是一个特定节点创建jQuery object

然而,删除和节点的交换,我用普通的JQuery功能,如,

进行删除,

$("#topnd2").remove(); 

用于交换,

var next = $("#topnd2").next(); 
$("#topnd2").insertAfter(next); 

topnd2是任何特定树节点的id

节点被正确删除/交换,但问题是树没有得到渲染,因此树图像(主要是表示分支的垂直线)没有正确设置。

例如,如果我删除最后一个节点,那么该节点将从渲染树视图中删除,但剩余的兄弟节点应该获得L作为分支线图像,但不是| 。

我打过电话

$("#browser").treeview();

请让我知道你的想法。

感谢, Jatan

回答

1

我找到了一些解决方法如下给出

一旦节点被交换了,实际上它以前的节点添加到其子,

$( “#浏览器” ).treeview({添加:$( “#topnd2”)。的insertBefore(以前)的.next()});

如果将节点换掉,virtuall会将当前节点添加到其下一个节点。 (“#browser”)。treeview({add:$(“#topnd2”)。insertAfter(next)});}};}};

目前它工作正常,将更新这篇文章,如果我发现这种方法有任何问题。如果您知道,请验证此方法。

问候, Jatan

0

如果试图节点取出后再次刷新树视图,链接将工作,但不是[+]或[ - ]图标。在几个浏览器上试过这个..