我正在使用 JSTree。当你检查一个节点时,我想看看它的所有兄弟节点是否也被选中,如果是,我想选择父节点并取消选择所有子节点。我如何使用 JsTree 实现这一目标?
最佳答案
您可能需要调整它以适应您的情况,但这基本上应该是您所需要的:
$(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);
}
});
确保在你的树配置中将 three_state 设置为 false
关于jstree - JS Tree-选中所有子节点时选择父节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37123002/