当前位置: 首页 > 编程笔记 >

bootstrap-Treeview实现级联勾选

潘志国
2023-03-14
本文向大家介绍bootstrap-Treeview实现级联勾选,包括了bootstrap-Treeview实现级联勾选的使用技巧和注意事项,需要的朋友参考一下

本文实例为大家分享了bootstrap Treeview实现级联勾选的具体代码,供大家参考,具体内容如下

核心方法

var nodeCheckedSilent = false; 
function nodeChecked (event, node){ 
 if(nodeCheckedSilent){ 
  return; 
 } 
 nodeCheckedSilent = true; 
 checkAllParent(node); 
 checkAllSon(node); 
 nodeCheckedSilent = false; 
} 
 
var nodeUncheckedSilent = false; 
function nodeUnchecked (event, node){ 
 if(nodeUncheckedSilent) 
  return; 
 nodeUncheckedSilent = true; 
 uncheckAllParent(node); 
 uncheckAllSon(node); 
 nodeUncheckedSilent = false; 
} 
 
//选中全部父节点 
function checkAllParent(node){ 
 $('#searchTree').treeview('checkNode',node.nodeId,{silent:true}); 
 var parentNode = $('#searchTree').treeview('getParent',node.nodeId); 
 if(!("nodeId" in parentNode)){ 
  return; 
 }else{ 
  checkAllParent(parentNode); 
 } 
} 
//取消全部父节点 
function uncheckAllParent(node){ 
 $('#searchTree').treeview('uncheckNode',node.nodeId,{silent:true}); 
 var siblings = $('#searchTree').treeview('getSiblings', node.nodeId); 
 var parentNode = $('#searchTree').treeview('getParent',node.nodeId); 
 if(!("nodeId" in parentNode)) { 
  return; 
 } 
 var isAllUnchecked = true; //是否全部没选中 
 for(var i in siblings){ 
  if(siblings[i].state.checked){ 
   isAllUnchecked=false; 
   break; 
  } 
 } 
 if(isAllUnchecked){ 
  uncheckAllParent(parentNode); 
 } 
 
} 
 
//级联选中所有子节点 
function checkAllSon(node){ 
 $('#searchTree').treeview('checkNode',node.nodeId,{silent:true}); 
 if(node.nodes!=null&&node.nodes.length>0){ 
  for(var i in node.nodes){ 
   checkAllSon(node.nodes[i]); 
  } 
 } 
} 
//级联取消所有子节点 
function uncheckAllSon(node){ 
 $('#searchTree').treeview('uncheckNode',node.nodeId,{silent:true}); 
 if(node.nodes!=null&&node.nodes.length>0){ 
  for(var i in node.nodes){ 
   uncheckAllSon(node.nodes[i]); 
  } 
 } 
} 

6-27 : 经部分网友反馈,图中的 if(!("id" in perentNode)) 需要改成 if(!("nodeId" in perentNode))才能正常运行,我想应该是版本问题,上面代码中已经改正了。如果运行不了,请改回 if(!("id" in perentNode))试一下。(谢谢大家提出)
因为treeview中silent属性指定了无效(我也不知道为什么委屈),所以多加了两个变量来控制

$('#searchTree').treeview({ 
  showCheckbox:true, 
  data:treeData, 
  onNodeChecked:nodeChecked , 
  onNodeUnchecked:nodeUnchecked 
 }); 

效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍基于Bootstrap实现城市三级联动,包括了基于Bootstrap实现城市三级联动的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Bootstrap实现城市三级联动的具体代码,供大家参考,具体内容如下 HTML代码部分 JS 代码部分 控制器+数据库 代码部分 表代码  SQL查询代码   最重要的也就是数据 这是省市县的表格数据,直接导入到数据库过后就能使用    

  • 本文向大家介绍bootstrap treeview 树形菜单带复选框及级联选择功能,包括了bootstrap treeview 树形菜单带复选框及级联选择功能的使用技巧和注意事项,需要的朋友参考一下 具体代码如下所示: 总结 以上所述是小编给大家介绍的bootstrap treeview 树形菜单带复选框及级联选择功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也

  • 本文向大家介绍BootStrap TreeView使用实例详解,包括了BootStrap TreeView使用实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了BootStrap TreeView使用代码,供大家参考,具体内容如下 弹窗口+树形菜单的具体代码 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍bootstrap-treeview实现多级树形菜单 后台JSON格式如何组织?,包括了bootstrap-treeview实现多级树形菜单 后台JSON格式如何组织?的使用技巧和注意事项,需要的朋友参考一下 树形列表菜单的数据组织形式一般有两种:一种是一次性向服务器请求所有节点的数据,一种是先请求根目录的节点,当用户点击该节点时,再去请求该节点的子叶节点的数据。这里我们的需求是第一

  • 本文向大家介绍bootstrap-treeview自定义双击事件实现方法,包括了bootstrap-treeview自定义双击事件实现方法的使用技巧和注意事项,需要的朋友参考一下 bootstrap-treeview是一款效果非常酷的基于bootstrap的jQuery多级列表树插件。该jQuery插件基于Twitter Bootstrap,以简单和优雅的方式来显示一些继承树结构,如视图树、列表树

  • 本文向大家介绍EasyUI实现二级页面的内容勾选的方法,包括了EasyUI实现二级页面的内容勾选的方法的使用技巧和注意事项,需要的朋友参考一下 EasyUI,在增、删的时候,经常用到二级页面进行勾选。 可以在datagird下面添加onCheck、onUncheck、onSelectAll、onUnselectAll事件。 在这些事件中,将勾选的内容存到map中,并转换成json格式字符串放到隐藏