JStree:如何将加载AJAX的根节点的状态设置为未确定

时间:2014-07-10 13:59:05

标签: javascript ajax json treeview jstree

我使用jstree v3.0.2来显示具有三态复选框(已选中,未选中,未确定)的节点树,我通过AJAX调用以JSON格式加载。 仅加载根节点,在用户展开节点时按需加载子节点。因此,我们还不知道节点的哪些子节点被(未)检查,但根节点必须根据底层子节点进行检查,取消选中或未确定。

我的问题与this one非常相似,这有望使我的问题更加难以理解,但是这个问题似乎与旧版本有关,而且并不能解释节点的延迟加载问题。此外,last answer建议使用"未确定"国家似乎没有工作。

最初加载的JSON(对于最顶层的根节点)如下所示:

[{
    "id":"100",
    "parent":"#", // Indicates this is a topmost root node
    "text":"test1",
    "children":false, // Wether or not the node has children
    "state":{
        "selected":true, // Node is selected
        "partial_selection":false // Node state >should be< undetermined
    }
},{
    "id":"101",
    "parent":"#",
    "text":"test2",
    "children":true,
    "state":{
        "selected":true,
        "partial_selection":true
    }
},{
    "id":"102",
    "parent":"#",
    "text":"test3",
    "children":true,
    "state":{
        "selected":false
    }
}]

有没有人找到解决这个问题的方法?

1 个答案:

答案 0 :(得分:1)

好的,我设法解决了这个问题。显然jstree 接受未确定的状态(当使用最新版本的库时,在我的情况下为3.0.2),如this answer已经建议的那样,但是它仅在省略了所选择的状态时才有效(这是有意义的)。 有关更多详细信息,请参阅Github上的the issue I filed