bootstrap treeView的使用和动态加载子节点

实现treeView

 

实现效果如图点击系统管理 加载用户管理,角色管理一级级加载

动态添加子节点需要修改js具体参考

https://blog.csdn.net/qq_25628235/article/details/51719917

js部分

treeview需要的数据格式

comId为自己定义的

var tree =[{text:节点1,nodes[{text:节点1的儿子1},{text:节点1的儿子2}]},{text:节点2},{text:节点3,comId:item.id}];

$(function () {
     var data = new FormData();
            var  url=baseURL + 'company/companyinfo/getCmpListByStep';
            $.ajax({
                type: "post",
                url: url,
                processData: false,  // 告诉jQuery不要去处理发送的数据
                contentType: false,  // 告诉jQuery不要去设置Content-Type请求头
                data:data,
                success: function(r){
                    if(r.code == 0){
                        var tree = new Array();
                        $.each( r.data,function(index, item){
                            tree[index]={text:item.name,comId:item.id};
                        })
                        $('#tree').treeview({
                            data: tree, //节点数据
                            onNodeSelected: function (event, node) {//选中节点时调用的方法
                                vm.getChildCom(node.comId,node.nodeId);//这里通过vue.js调用查询子节点的数据
                            },
                            emptyIcon: "glyphicon glyphicon-plus"//设置图标样式
                        })
                    }else{
                        alert(r.msg);
                    }
                }
            });
    }
)


   //获取子公司信息
        getChildCom:function(cmpId,nodeId){
            if(typeof($('#tree').treeview('getSelected')[0].nodes) != "undefined" ){
//这里判断当前节点下是否有值了,有就不再添加数据return防止重复添加
//$('#tree').treeview('getSelected')取得当前选中的数据
                if($('#tree').treeview('getSelected')[0].nodes.length>0)  {
                    return;
                }
            }
            var data={cmpId:cmpId}
            $.ajax({
                processData: false,  // 告诉jQuery不要去处理发送的数据
                contentType: false,  // 告诉jQuery不要去设置Content-Type请求头
                type: "POST",
                url: baseURL + "company/companyinfo/getCmpListByStep",
                dataType: "json",
                data: data,
                success: function (r) {
                    if(r.code == 0) {
                        $.each(r.data, function (index, item) {
                            var addNodes = new Array();
                            addNodes[0] = nodeId;
                            addNodes[1] = {node: {text: item.name, comId: item.id}};
                            $("#tree").treeview("addNode", addNodes);
                        });
                    }
                }
            });
        }

html部分

<script type="text/javascript" src="${request.contextPath}/statics/libs/bootstrap-treeview.js"></script>

  <div id="tree" ></div>

js下载地址

链接: https://pan.baidu.com/s/1SDJ4oZ9LP7eysXOmgtZZcQ 提取码: fpmx 复制这段内容后打开百度网盘手机App,操作更方便哦

 

 

 


 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Bootstrap TreeviewBootstrap 分栏可以很容易地结合使用,以创建一个具有多级层次结构的导航菜单。 下面是一个简单的示例: ```html <div class="container"> <div class="row"> <div class="col-md-4"> <div id="treeview"></div> </div> <div class="col-md-8"> <h1>Content</h1> </div> </div> </div> ``` 在这个示例中,我们使用Bootstrap 的分栏组件来创建一个两列布局。左侧列占据了 4 个网格,右侧列占据了 8 个网格。 左侧列中的 div 元素使用了 id="treeview" 属性,这是我们将要使用 Bootstrap Treeview 插件渲染的容器。 接下来,我们需要引入 BootstrapBootstrap Treeview 的 CSS 和 JavaScript 文件,并在 JavaScript 中初始化 Treeview 插件: ```html <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-treeview/1.2.0/bootstrap-treeview.min.css"> <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-treeview/1.2.0/bootstrap-treeview.min.js"></script> <script> $(function() { var data = [ { text: 'Parent 1', nodes: [ { text: 'Child 1', nodes: [ { text: 'Grandchild 1' }, { text: 'Grandchild 2' } ] }, { text: 'Child 2' } ] }, { text: 'Parent 2' }, { text: 'Parent 3' } ]; $('#treeview').treeview({data: data}); }); </script> ``` 在这个示例中,我们创建了一个包含多级层次结构的数据对象,并将其传递给 Treeview 插件的 data 选项。 最后,我们在 JavaScript 中使用 $('#treeview').treeview({data: data}) 方法将 Treeview 插件应用于 id="treeview" 的 div 元素。 这样,我们就可以在左侧列中创建一个具有多级层次结构的导航菜单,而右侧列中可以放置任何内容,例如显示所选菜单项的详细信息、表单等等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值