Javascript 如何禁用引导树视图的父节点复选框
我想保持我的父文件夹名称不可选中。但是我不能在这里传递带有单个节点的选项 我写了这样的代码Javascript 如何禁用引导树视图的父节点复选框,javascript,jquery,treeview,bootstrap-treeview,Javascript,Jquery,Treeview,Bootstrap Treeview,我想保持我的父文件夹名称不可选中。但是我不能在这里传递带有单个节点的选项 我写了这样的代码 $("#treeview-checkable").treeview({ data: root.attributeTopicList, showIcon: true, showCheckbox: true, showBorder: false, showTags: true, }); }; 我遇到了同样的问题。为了从
$("#treeview-checkable").treeview({
data: root.attributeTopicList,
showIcon: true,
showCheckbox: true,
showBorder: false,
showTags: true,
});
};
我遇到了同样的问题。为了从最上层的父对象中删除复选框,我使用了一些变通方法 绘制完树后,我告诉它找到datanodeid=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();
};
我每次点击都会做同样的事情,因为我发现当我展开、折叠、对树做任何操作时,复选框会重新出现
这是最好的解决方案吗?不,行吗?是的。我不得不在bootstrap-treeview.js文件中添加一些行 进程-->>
- 进入bootstrap_treeview.js
- 查看其渲染功能如何工作
- 您会发现,在treeview触发任何事件或对DOM进行任何更改后,它会调用其render方法
- 您将在第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(); }
for(变量i=0;i<$(“.glyphicon减号”).length;i++) { $($(“.glyphicon减号”)[i])。同级(“.check icon”).hide(); } 对于(i=0;i<$(“.glyphicon plus”).length;i++){ $($(“.glyphicon plus”)[i])。同级(“.check icon”).hide(); }