javascript - 如何隐藏jstree中未选中的checknode

标签 javascript php jquery jstree

作为标题,我如何隐藏 jstree 中未选中的检查节点。我只想在 jstree 中显示检查节点及其父节点。

非常感谢

最佳答案

如果选定的节点有一些未选定的同级节点,您将需要过滤掉完全选定的节点及其可能部分选定的父节点。对于所有这些节点,将 state.hidden 设置为 true。然后重画树。

请参阅下面的代码,另请查看演示 - Fiddle Demo

$("#yourTreeId")
    .jstree('get_json', '#', {
        flat: true
    })
    .forEach(function(node) {
        if (!node.state.selected && $('#' + node.a_attr.id).find('.jstree-undetermined').length === 0) {
            $("#yourTreeId").jstree('get_node', node).state.hidden = true;
        }
    });

$('#yourTreeId').jstree('redraw', true);

关于javascript - 如何隐藏jstree中未选中的checknode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40278142/

相关文章:

jQuery 等同于 Prototype array.last()

javascript - 如何让一个<div>上的 'setTimeout'自动转到另一个<div>?

javascript - JS 如何对数组的索引进行归约求和?

javascript - 扫描嵌套对象的数组以查找匹配项

php - 使用 Slim 3 和内置 PHP 服务器路由参数

javascript - 通过点击事件使部分显示

javascript - 有人帮我回答一下为什么我们在asp.net中使用脚本吗?

javascript - Handlebars - 子串

php - mysql查询长记录,需要足够长的时间才能显示记录

php - 显示来自 MySQL 数据库的唯一值