javascript - 隐藏部分单击 Dynatree 值

标签 javascript jquery html dynatree

有如下的树状结构

Section 1
item1
item2
Section 2
item5

我可以点击任何项目并使用 dynatree onActivate 函数和这段代码隐藏所有其他项目

  onActivate: function(node) {
            var resultId = "#" + node.data.title;
            resultId = resultId.replace(/\s/g, '');
            $('#contents>div').not(resultId).hide();
            $(resultId).show();
        },

我的html是这样的

<div class="container-fluid text-left">
    <div class="row content">
        <div class="col-sm-2 sidenav" id="tree"> </div>
        <div class="col-sm-8" id="contents">

            <div id="item1">
                <table id="item1grid"></table>
            </div>
            <div id="item2">
                <table id="item2grid"></table>
            </div>
            <div id="item5">
                <table id="item5grid"></table>
            </div>
        </div>
        <div id="info"> </div>
    </div>
</div>
</div>

我如何扩展这个 html 和功能,所以如果我单击树中的“第 1 部分”,它只显示该部分中的所有项目,即单击“第 1 部分”仅显示 item1 和 item2

最佳答案

也许您可以通过使用“onActivate”回调的传入节点对象的一些属性来实现这一点。您需要检查激活的对象是否是一个文件夹,如果是,则显示该元素的所有子项。尝试将此代码段附加到您的 onActivate 回调中:

if (node.data.isFolder) {
    for (var i = 0; i < node.childList.length; i++) {
        $('#' + node.childList[i].data.key).show();
    }
}

随意使用 console.log 转储整个对象并检查您可以使用哪些字段。

能否请您提供一个 jsfiddle 来检查您目前拥有的内容?

关于javascript - 隐藏部分单击 Dynatree 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37491321/

相关文章:

javascript - XmlHttpRequest 被 Access-Control-Allow-Origin 拒绝,即使来源完全匹配

javascript - bcrypt 哈希输出的长度是多少?

html - 在 div 中居中图像

javascript - AngularJS 使用子指令作为指令数据

javascript - 如何比较日期时间字符串格式 : (YYYY-MM-DD XX:YY) in javascript

javascript - 为什么 Twitter 的关注按钮小部件不记得我?

javascript - 如何解决 jQuery 和 mootoools 冲突?

javascript - 使用js或jquery替换w3-include-html attr

javascript - 从 HTML 表单获取文本并传递给 JavaScript 函数

没有 .innerHTML 的 html 中的 JavaScript 数组内容