jquery.ztree.core.js jquery.ztree.excheck.js // 复选框支持 zTreeStyle.css<link rel="stylesheet" href="css/zTreeStyle.css" type="text/css"> |
|---|
<script src="js/jquery.min.js"></script> |
|---|
<script src="js/jquery.ztree.core.js"></script> |
|---|
<script src="js/jquery.ztree.excheck.js"></script> |
|---|
<ul id="treeDemo" class="ztree"></ul> |
|---|
<ul> 是树的容器id="treeDemo" 对应初始化时的 settingvar zNodes = [ |
|---|
{ id:1, pId:0, name:"父节点1", open:true }, |
|---|
{ id:11, pId:1, name:"子节点1" }, |
|---|
{ id:12, pId:1, name:"子节点2" } |
|---|
]; |
|---|
id:节点 IDpId:父节点 IDname:节点名称open:是否默认展开var setting = {}; |
|---|
$(document).ready(function(){ |
|---|
$.fn.zTree.init($("#treeDemo"), setting, zNodes); |
|---|
}); |
|---|
$("#treeDemo"):绑定容器setting:配置选项zNodes:节点数据var setting = { |
|---|
async: { |
|---|
enable: true, |
|---|
url: "/getTreeNodes", |
|---|
autoParam:["id"] |
|---|
} |
|---|
}; |
|---|
enable: true:开启异步加载url:后台接口返回 JSON 数据autoParam:自动传递父节点 IDvar setting = { |
|---|
check: { |
|---|
enable: true, // 开启复选框 |
|---|
chkboxType: { "Y": "ps", "N": "ps" } // 勾选/取消对子节点影响 |
|---|
} |
|---|
}; |
|---|
chkboxType:"Y":选中父节点时是否自动选中子节点"N":取消父节点时是否自动取消子节点var setting = { |
|---|
callback: { |
|---|
onClick: function(event, treeId, treeNode){ |
|---|
alert("点击了:" + treeNode.name); |
|---|
} |
|---|
} |
|---|
}; |
|---|
treeNode:当前点击的节点对象treeNode.id, treeNode.pId, treeNode.name 等var zTree = $.fn.zTree.getZTreeObj("treeDemo"); |
|---|
// 增加节点 |
|---|
var parentNode = zTree.getNodeByParam("id",1,null); |
|---|
zTree.addNodes(parentNode, {id:13, pId:1, name:"新增子节点"}); |
|---|
// 删除节点 |
|---|
var node = zTree.getNodeByParam("id",12,null); |
|---|
zTree.removeNode(node); |
|---|
// 修改节点 |
|---|
node.name = "修改后的名称"; |
|---|
zTree.updateNode(node); |
|---|
var treeObj = $.fn.zTree.getZTreeObj("treeDemo"); |
|---|
var nodes = treeObj.getCheckedNodes(true); // 返回选中的节点数组 |
|---|
nodes.forEach(function(n){ |
|---|
console.log(n.id, n.name); |
|---|
}); |
|---|
true:只返回被选中的节点false:返回所有节点状态,包括未选中后台接口返回 JSON:
[ |
|---|
{"id":1,"pId":0,"name":"父节点1","isParent":true}, |
|---|
{"id":2,"pId":1,"name":"子节点1"} |
|---|
] |
|---|
前端配置:
var setting = { |
|---|
async: { |
|---|
enable: true, |
|---|
url: "/getTreeNodes", |
|---|
autoParam:["id"], |
|---|
dataType:"json" |
|---|
} |
|---|
}; |
|---|
zTreeStyle.css,适配不同布局jquery.ztree.exedit.jsjquery.ztree.excheck.js<ul> 容器$.fn.zTree.init() 初始化💡 建议:
map 数据结构和事件绑定https://www.52runoob.com/archives/6415
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。