bootstrap treeview控件

本文介绍如何使用Bootstrap和jQuery创建动态组织单位树形结构。通过AJAX异步加载子节点并实现平滑展开效果,同时提供了选中节点的事件监听。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需要bootstrap.css;bootstrap.js;bootstrap-treeview.css;bootstrap-treeview.js.

//js代码

function createTree(){
    selectNode = null;//选中的节点id
    $.get("findChildOrgs.do", {pOrgId:null}, function(data) {
try {
var list = data.data;
var children=[];
if (list) {
for (var i = 0;i < list.length;i ++) {
children.push({
id: list[i].id,
text: list[i].text,
});
}
}
var tree = [{
text: '机构单位',
nodes: children
}];
var count=[];
$("#tree").treeview({
data: tree,
color:'#ffffff',
levels: 3,
onhoverColor: '#428bca',
backColor:'transparent',
expandIcon: 'glyphicon glyphicon-plus',
collapseIcon: 'glyphicon glyphicon-minus',
emptyIcon: 'glyphicon',
                    onNodeSelected: function (event, data) {//选中事件
                    selectNodeId = data.id;
                    searchFun();//这个方法可以忽略不计
                    if(null==count[data.id]){
                      $.ajax({
          type: "get",
          url: "findChildOrgs.do?pOrgId=" + data.id,
          dataType: "json",
          success: function (result) {
              var dataValue=result.data;
              for (var index = 0; index < dataValue.length; index++) {
                      $("#tree").treeview("addNode",[data.nodeId,{ node: {id:dataValue[index].id,text:dataValue[index].text}, silent: true }]);//增加节点,这个方法我自己加上去的
              }
          $("#tree").treeview("expandNode", [data.nodeId, { levels: 2, silent: true } ]);//这个是为了让它加载完子节点展开,不加这行代码加载完子节点不展开
          }
          });
                          }
                          count[data.id]=data.id;//count是为了避免重复,这个控件在异步加载是不会判断重复,需自己判断
                    },
});
} catch (e) {
}
}, "json");

        }


//html代码

<div style="margin-top:-650px;">
<i>机构列表:</i>
<div id="tree" style="width:250px;background-color:transparent;overflow-y:scroll;height:565px;"></div>
</div>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值