当前位置:主页 > javascript教程 > bootstrap-Treeview实现级联勾选

详解bootstrap-Treeview实现级联勾选

发布:2020-03-12 16:25:47 112


给网友朋友们带来一篇javascript相关的编程文章,网友何平晓根据主题投稿了本篇教程内容,涉及到bootstrap、Treeview、级联勾选、bootstrap-Treeview实现级联勾选相关内容,已被987网友关注,下面的电子资料对本篇知识点有更加详尽的解释。

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-Treeview实现级联勾选

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。


参考资料

相关文章

  • 解析bootstrap是什么_动力节点Java学院整理

    发布:2020-01-28

    这篇文章主要介绍了bootstrap是什么,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧


  • bootstrap中使用modal加载kindeditor时弹出层文本框不能输入怎么办

    发布:2020-03-13

    这篇文章主要介绍了解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题,需要的朋友可以参考下


  • Bootstrap Table列宽拖动实例代码

    发布:2020-06-15

    Bootstrap Table可拖动,需要用到它的Resizable扩展插件,下面脚本之家小编给大家带来了Bootstrap Table列宽拖动的方法,感兴趣的朋友一起看看吧


  • bootstrap中添加额外的图标的方法

    发布:2020-01-31

    可以针对校验状态为输入框添加额外的图标。接下来通过本文给大家分享bootstrap中添加额外的图标实例代码,需要的的朋友参考下吧


  • bootstrap搜索建议插件

    发布:2020-03-12

    这篇文章主要为大家详细介绍了基于bootstrap按钮式下拉菜单组件的搜索建议插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下


  • Bootstrap可折叠侧边导航菜单实现代码

    发布:2020-04-24

    这篇文章主要介绍了Bootstrap实现可折叠分组侧边导航菜单的相关资料,需要的朋友可以参考下


  • bootstrap实现多个下拉框同时搜索的实例

    发布:2022-10-17

    给大家整理一篇关于java的教程,下面小编就为大家带来一篇bootstrap实现多个下拉框同时搜索的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧


  • Bootstrap创建表单具体方法

    发布:2021-08-26

    在本章中,我们将学习如何使用 Bootstrap 创建表单。Bootstrap 通过一些简单的 HTML 标签和扩展的类即可创建出不同样式的表单


网友讨论