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