如何触发JQuery treeview的渲染
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何触发JQuery treeview的渲染相关的知识,希望对你有一定的参考价值。
我使用jquery tree plugin来呈现分层数据。
我编写了额外的功能,允许用户与这些数据交互(如添加/删除节点,交换节点等...)
目前这个插件支持无论何时想要添加任何节点,都可以调用以下方法,
$("#browser").treeview({
add: branches
});
这里branches
是用html块创建的jQuery object
,它代表一个特定的节点。
但是,对于删除和交换节点,我使用常见的JQuery函数,
删除,
$("#topnd2").remove();
换换,
var next = $("#topnd2").next();
$("#topnd2").insertAfter(next);
topnd2
是任何特定树节点的id
。
节点被正确删除/交换,但问题是树没有被渲染,因此树图像(主要是表示分支的垂直线)没有正确设置。
例如,如果我删除最后一个节点,那么该节点将从渲染的树视图中删除,但剩余的兄弟节点应该得到L作为分支线图像但不是。
我试着打电话
$("#browser").treeview();
请让我知道你的想法。
谢谢,去吧
我找到了一些解决方法,如下所示,
交换节点后,将其上一个节点虚拟添加到其子节点,
$( “#浏览器”),树状({添加:$( “#topnd2”)的insertBefore(以前)的.next()});
如果交换节点,则虚拟将当前节点添加到其下一个节点。
$( “#浏览器”),树状({添加:$( “#topnd2”)insertAfter(下一步)。});
目前它工作正常,如果我发现这种方法有任何问题,将更新这篇文章。如果您知道,也请验证此方法。
问候,去吧
如果您尝试在删除节点后再次刷新树视图,则链接将起作用,但不会起作用[+]或[ - ]图标。在几个浏览器上试过这个..
以上是关于如何触发JQuery treeview的渲染的主要内容,如果未能解决你的问题,请参考以下文章
无法为填充的 TreeView 节点触发 SelectedNodeChanged 事件
wpf treeview中动态创建的treeViewItem如何用右键触发菜单?