如何禁用 Bootstrap Treeview 的父节点复选框
How to disable parent node checkbox of Bootstrap Treeview
我想让我的父文件夹名称不被选中。但我不能在这里通过单个节点的选项。
我是这样写代码的。
$("#treeview-checkable").treeview({
data: root.attributeTopicList,
showIcon: true,
showCheckbox: true,
showBorder: false,
showTags: true,
});
};
我遇到了同样的问题。为了从最上面的父项中删除复选框,我使用了一些变通方法。
绘制树后,我告诉它找到 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();
};
我每次点击都做同样的事情,因为我发现当我展开、折叠、对树做任何事情时,复选框会重新出现。
这是最好的解决方案吗?不,它有效吗?是的
我不得不在 bootstrapp-treeview.js 文件中添加一些行
进程-->>
进入 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();
}
我想让我的父文件夹名称不被选中。但我不能在这里通过单个节点的选项。
我是这样写代码的。
$("#treeview-checkable").treeview({
data: root.attributeTopicList,
showIcon: true,
showCheckbox: true,
showBorder: false,
showTags: true,
});
};
我遇到了同样的问题。为了从最上面的父项中删除复选框,我使用了一些变通方法。
绘制树后,我告诉它找到 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();
};
我每次点击都做同样的事情,因为我发现当我展开、折叠、对树做任何事情时,复选框会重新出现。
这是最好的解决方案吗?不,它有效吗?是的
我不得不在 bootstrapp-treeview.js 文件中添加一些行
进程-->>
进入 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(); }