gpt4 book ai didi

jstree - 如何在 jsTree 的初始加载时抑制级联?

转载 作者:行者123 更新时间:2023-12-03 23:42:45 26 4
gpt4 key购买 nike

我将 jsTree 与复选框插件一起使用。我将级联设置为“向下”。这很好用,除了当我想加载包含已选中和未选中节点的数据时,级联会覆盖节点的“状态”设置。例如。

var data = [
{"id":"p90","parent":"#","text":"Page1", "state": { "selected": true} },
{"id":"p100","parent":"p90","text":"Page2", "state": { "selected": true} },
{"id":"p101","parent":"p100","text":"Page3", "state": { "selected": false} },
{"id":"p102","parent":"p101","text":"Page4", "state": { "selected": true} },
{"id":"p103","parent":"p101","text":"Page5", "state": { "selected": false} }
];

$(function () {
$("#PageTree")
.jstree({
core: { data: data },
plugins: ["checkbox"],
checkbox: { cascade: "down", three_state: false },
expand_selected_onload: true
});
});

这导致:

all checked

但它应该是这样的:

some checked

我尝试在加载树后设置“级联”设置,但这不起作用。似乎唯一的选择是编写我自己的级联代码,但我正在寻找一个更灵活的选择。

最佳答案

这就是我最终做的,这是jsTree( https://github.com/vakata/jstree/issues/774 )的开发者推荐的解决方案:

$("#PageTree")
.on('select_node.jstree', function (e, data) {
if (data.event) {
data.instance.select_node(data.node.children_d);
}
})
.on('deselect_node.jstree', function (e, data) {
if (data.event) {
data.instance.deselect_node(data.node.children_d);
}
})
.jstree({
core: { data: pages },
plugins: ["checkbox"],
checkbox: { cascade: "", three_state: false },
expand_selected_onload: true
});

关于jstree - 如何在 jsTree 的初始加载时抑制级联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27533641/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com