本文实例为大家分享了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 });
效果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 大自然音乐系列《听见向日葵的微笑》[WAV/CUE/分轨][538.5MB]
- 魔兽世界地心之战戒律牧用什么饰品 地心之战戒律牧饰品推荐
- 魔兽世界地心之战戒律牧用什么合剂食物 地心之战戒律牧合剂食物推荐
- 仙境传说新启航职业排行榜大全 仙境传说最强职业是哪个
- 群星《网络新歌曲速报》3CD[DTS-WAV分轨]
- 群星《男人必听》一张男人开车时必听的绝世好歌[WAV]
- 群星《再见新歌》2CD【DTS-WAV分轨】
- 黎瑞恩.1992-雨季不再来【宝丽金】【WAV+CUE】
- 曹雅雯.2018-小说【美乐蒂】【FLAC分轨】
- 温拿乐队.2007-温拿33好时光演唱会2CD(2024环球红馆40复刻系列)【环球】【WAV+CUE】
- 魔兽世界地心之战戒律牧用什么附魔宝石 地心之战戒律牧附魔宝石推荐
- 仙境传说新启航公测兑换码汇总 仙境传说最新兑换码礼包大全
- 魔兽世界地心之战神牧用什么饰品 地心之战神牧饰品推荐
- 群星《聆听·极致女声》2CD[DTS-WAV]
- 群星《五大最美女中音》2CD[DTS-WAV]