1、引入bootstrap-treeview.js
2、封装功能函数
a、获取树状结构json数据及节点选中和反选事件
function customTreeInit(url,thetree){ $.ajax({ type:"get", url:url, data:null, datatype:"text", success:function(data){ var treedate= $.parseJSON(data); thetree.treeview({ showCheckbox:true, data: treedate, onNodeChecked: function(event, data) { checknodes(data,thetree,'checkNode'); checknodes(data,thetree,'expandNode'); }, onNodeUnchecked :function(event,data){ checknodes(data,thetree,'uncheckNode'); } }); }, error: function(xmlhttprequest, textstatus, errorthrown) { layer.msg(xmlhttprequest.status,{icon:7}); layer.msg(xmlhttprequest.readystate,{icon:7}); layer.msg(textstatus,{icon:7}); } }); }
b、适用于统一对选中的节点进行迭代操作 opt 参考treeview API文档
//节点多选函数 function checknodes(data,thetree,opt){ thetree.treeview(opt, [ data.nodeId, { silent:true } ]); var nodes=data.nodes; for(var j in nodes){ checknodes(nodes[j],thetree,opt); } }