前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >bootstrap treeview级联勾选的正确姿势

bootstrap treeview级联勾选的正确姿势

作者头像
hotqin888
发布2018-09-11 15:07:07
1.4K0
发布2018-09-11 15:07:07
举报
文章被收录于专栏:hotqin888的专栏hotqin888的专栏

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1334531

上一篇文章已经说过它自带级联功能。必须用这个:https://github.com/patternfly/patternfly-bootstrap-treeview

代码语言:javascript
复制
$('#tree').treeview({
                showCheckbox: true,
                data: [data], // data is not optional
                levels: 3,
                enableLinks: true,
                hierarchicalCheck:true,//级联勾选
                // propagateCheckEvent:true,
                highlightSearchResults:false,//搜索结果不高亮
                state: {
                  checked: true,
                  // disabled: true,
                  expanded: true,
                  // selected: true
                }
              });

手动勾选使用的方法是:toggleNodeChecked方法

因此,我们在做权限查询的时候,用这个方法。

根据原版里的例子,思路是需要先找(search)到这个目录的名称,然后选中(原版无联动功能),而目录名称很多是重复的,所以还是用patternfly里的find方法。

代码语言:javascript
复制
$.ajax({    
            type: 'GET',    
            dataType : "json",//返回数据类型  
            
            url: "/admin/role/getpermission",//请求的action路径  
            data: {roleid:row.Id,action:action,projectid:projectid}, 
               
            error: function () {//请求失败处理函数    
                alert('请求失败');    
            },  
            success:function(data){ //请求成功后处理函数。取到Json对象data
              // var findCheckableNodess = function() {
              //   return $('#tree').treeview('search', [ data, { ignoreCase: false, exactMatch: true } ]);//忽略大小写——这个只支持名称,名称有很多是重复的嘛。
              
              $('#tree').treeview('uncheckAll', { silent: true });//先把全部选中取消掉
              for(var i=0;i<data.length;i++){
                // alert(data[i]);
                var findCheckableNodess = function() {
                  return $('#tree').treeview('findNodes', [data[i], 'id']);//新版中的find方法,支持field字段,这里查id,id是唯一的,多么方便啊。
                }; 
                var checkableNodes = findCheckableNodess();
                // $('#tree').treeview('checkNode', [ checkableNodes, { silent: true } ]);//这个checknode只能选中一个。
                $('#tree').treeview('toggleNodeChecked', [ checkableNodes, { silent: true } ]);//这个togglenodechecked可以选中所有下级,上级也半选中状体。
              }
            }
          });
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年01月06日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档