JS Tree - 选择所有子节点时选择父节点

时间:2016-05-09 18:33:29

标签: jstree jstree-search

我正在使用JSTree。检查节点时,我想查看是否还选择了所有兄弟节点,如果是,我想选择父节点并取消选择所有子节点。我怎样才能用JsTree实现这个目标?

1 个答案:

答案 0 :(得分:1)

您可能需要调整它以适应您的情况,但这基本上应该是您所需要的:

$(jsTreeSelector).on("select_node.jstree", function (node, selected) {
    var parentNode = $(jsTreeSelector).jstree(true).get_parent(selected.node.id);
    var siblingNodes = $(jsTreeSelector).jstree(true).get_children_dom(parentNode);
    var allChecked = true;
    $(siblingNodes).each(function () {
        if (!$(this).children('.jstree-anchor').hasClass('jstree-clicked')) allChecked = false;
    });
    if (allChecked) {
        $(siblingNodes).each(function () {
            $(jsTreeSelector).jstree(true).deselect_node(this);
        });
        $(jsTreeSelector).jstree(true).select_node(parentNode);
    }
});

确保在tree config

中将three_state设置为false