如何禁用Bootstrap Treeview的父节点复选框

时间:2017-09-21 08:32:43

标签: javascript jquery treeview bootstrap-treeview

My treeveiw example

我希望我的父文件夹名称不可检查。但我不能在这里通过单个节点的选项。

我写了这样的代码。

$("#treeview-checkable").treeview({
        data: root.attributeTopicList,
        showIcon: true,
        showCheckbox: true,
        showBorder: false,
        showTags: true,
    });

};

2 个答案:

答案 0 :(得分:2)

我必须在bootstrapp-treeview.js文件中添加一些行

Code looks like this

过程 - >>

  • 进入bootstrapp_treeview.js

  • 了解其渲染功能的工作原理

  • 您会发现在treeview之后触发任何事件或对DOM进行任何更改都会调用其渲染方法
  • 您将在第486行找到渲染方法
  • 如果您编写代码的方式使您的父节点不应该只有复选框写

        for (var i = 0; i < $(".glyphicon-minus").length; i++)
        {
            $($(".glyphicon-minus")[i]).siblings(".check-icon").hide();
        }
        for (i = 0; i < $(".glyphicon-plus").length; i++){
            $($(".glyphicon-plus")[i]).siblings(".check-icon").hide();
        }
    

答案 1 :(得分:1)

我遇到了同样的问题。为了从最上面的父项中删除复选框,我使用了一些解决方法。

绘制树后,我告诉它找到data-nodeid = 0属性并删除check-icon分类的span元素。

所以在树初始化之后我运行它:

$("#treeview-checkable").find("[data-nodeid=0]").find(".check-icon").remove();

我还检测到我页面上的每个点击事件都做同样的事情。

window.onclick = function(){
    $("#treeview-checkable").find("[data-nodeid=0]").find(".check-icon").remove();
};

我在每次点击时都做同样的事情,因为我发现当我展开,折叠,对树做任何事情时,复选框重新出现。

这是最好的解决方案吗?不,它有用吗?是。