2011-09-21 51 views
7

我正在与jstree一起使用ajax,我发现我的所有节点都有箭头来展开它,即使那些没有孩子的节点。在jstree http://www.jstree.com/demo的演示页面上,情况并非如此。我没有在演示代码上看到与我的不同的东西,所以它来自服务器?我有一个参数在“getChildren”方法中回答说在jstree“这一个,没有孩子,不能使其扩展”吗?jstree的问题可能会扩大没有孩子的节点

任何人都知道它来自哪里?我能做些什么来解决这个问题?

因为它似乎是一个问题,当我使用contextmenu插件的复制/粘贴功能。当我粘贴一个没有子节点但尚未打开的节点(新父节点)时(除非子节点尚未打开),没有任何事情发生,除了请求让子节点(比如点击打开节点的请求)没有明显返回。它不执行move_node函数。

编辑:我有一个从文本菜单

有人能帮助我“加”同样的问题?

感谢

+0

您可以创建一个的jsfiddle样? – Radek

回答

4

我加入了jstree-leaf类的attr属性没有孩子我的节点。

attr: { "class" : "jstree-leaf" } 

这然后设置你需要没有扩展特征的CSS类。

2

我有与“创建”方法和没有子节点的节点相同的问题。解决它将这些节点的状态指定为“打开”而不是默认的“关闭”。

希望这有助于。

+2

我必须根据Quandary将它设置为'leaf'。 '关闭'不起作用。 – fiat

+1

我不得不将它设置为'Leaf'。 –

10

从jsTree文档:

http://www.jstree.com/documentation/html_data 

三个类别中的一个将根据节点结构可以应用于:

<li class="[ jstree-open | jstree-closed | jstree-leaf ]"> 

乔纳森斯托威尔是正确的,但设置attr.class为“jstree-叶“不起作用(至少不是最新版本)。

但是“打开”和“关闭”让我想起了node.state,所以我试了一下,结果发现当你设置节点时。 状态到您的JSON序列化类中的“叶”,它将不可扩展。

+2

设置“状态”:“叶”为我工作。谢谢! – realgt

+0

非常漂亮的把戏;-) – spiderman77

+0

太棒了!高超 – Neo

1

如果您发送JSON数据,给予“jstree叶”作为li_attr的类

li_attr: {class = "jstree-leaf" }