zTree使用,官网地址:http://www.treejs.cn

zTree 是一个依靠 jQuery 实现的多功能 “树插件”, 而且拥有较好的浏览器兼容性,有着丰富的功能以及可以自定义样式,足以满足大部分业务的开发

第一步先导入css及js文件

<link rel="stylesheet" type="text/css" href="zTree/css/zTreeStyle/zTreeStyle.css">
<script type="text/javascript" src="zTree/js/jquery.ztree.all.min.js"></script>

第二步在html页面创建ztree Div

<div><ul id="regionZTree" class="ztree"></ul>
</div>

第三步初始化ztree

var setting = {view: {dblClickExpand: false,//双击节点时,是否自动展开父节点的标识showLine: true,//是否显示节点之间的连线fontCss:{'color':'black','font-weight':'bold'},//字体样式函数selectedMulti: true //设置是否允许同时选中多个节点},check:{//chkboxType: { "Y": "ps", "N": "ps" },chkboxType: { "Y": "", "N": "" },chkStyle: "checkbox",//复选框类型enable: true //每个节点上是否显示 CheckBox},edit:{enable: true,editNameSelectAll: true,showRemoveBtn : true,showRenameBtn : true,removeTitle : "remove",renameTitle : "rename"},data: {simpleData: {//简单数据模式enable:true,idKey: "id",pIdKey: "IPARENTID",rootPId: null}},callback: {beforeExpand:zTreeBeforeExpand, // 用于捕获父节点展开之前的事件回调函数,并且根据返回值确定是否允许展开操作}};
zTreeObj = $.fn.zTree.init($("#regionZTree"), setting, dominZTree);

下面是ztree操作的效果图

下面是ztree增删改以及选中的代码

/*** 添加节点* @param obj*/
function addZTreeNode(obj) {var treeObj = $.fn.zTree.getZTreeObj("regionZTree");var parentZNode = treeObj.getSelectedNodes(); //获取父节点var newNode = obj;newNode.nodeFlg = 1;  // 可以自定义节点标识newNode = treeObj.addNodes(parentZNode[0], newNode,true);
}
/*** 修改子节点* @param obj*/
function editZTreeNode(obj) {var zTree = $.fn.zTree.getZTreeObj("regionZTree");var nodes = zTree.getSelectedNodes();for(var i = 0;i<nodes.length;i++){nodes[i].name = obj;zTree.updateNode(nodes[i]);}
}/***  删除子节点 --选中节点* @param obj*/
function removeZTreeNodeBySelect() {var zTree = $.fn.zTree.getZTreeObj("regionZTree");var nodes = zTree.getSelectedNodes(); //获取选中节点for (var i=0;i<nodes.length; i++) {zTree.removeNode(nodes[i]);}
}/***  删除子节点 --勾选节点* @param obj*/
function removeZTreeNodeByChecked() {var zTree = $.fn.zTree.getZTreeObj("regionZTree");var nodes =  zTree.getCheckedNodes(true); //获取勾选节点for (var i=0;i<nodes.length; i++) {zTree.removeNode(nodes[i]);}
}/***  根据节点id 批量删除子节点* @param obj*/
function removeZTreeNodebPi(obj) {var idnodes = obj.split(",");var zTree = $.fn.zTree.getZTreeObj("regionZTree");var nodes = zTree.getSelectedNodes();for (var i=0;i<nodes.length; i++) {var nodes = zTree.getNodeByParam("id", nodes[i]);zTree.removeNode(nodes);}
}
/*** 选择节点* @param obj*/
function selectzTreeNode(obj) {var zTree = $.fn.zTree.getZTreeObj("regionZTree");var node = zTree.getNodeByParam("id",obj);if(node!=null) {zTree.selectNode(node, true);//指定选中ID的节点}
}

JS组件系列——zTree树形组件相关推荐

  1. elementui组件中,树形组件的使用

    项目场景: elementui组件中,树形组件的使用 问题描述: 通过树形结构展示,点击勾选数据.没有展开树结构的情况下,勾选树节点时,其叶子节点全部被勾选,@check-change="h ...

  2. JS组件系列——Bootstrap Select2组件使用小结

    前言:在介绍select组件的时候,博主之前分享过一篇JS组件系列--两种bootstrap multiselect组件大比拼,这两个组件的功能确实很强大,只可惜没有图文结合的效果(也就是将图片放入到 ...

  3. 【JS组件系列】——表格组件神器:bootstrap table(二:父子表和行列调序)

    前言:上篇 JS组件系列--表格组件神器:bootstrap table 简单介绍了下Bootstrap Table的基础用法,没想到讨论还挺热烈的.有园友在评论中提到了父子表的用法,今天就结合Boo ...

  4. 多叉树结合JavaScript树形组件实现无限级树形结构(一种构建多级有序树形结构JSON(或XML)数据源的方法)

    一.问题研究的背景和意义 在Web应用程序开发领域,基于Ajax技术的JavaScript树形组件已经被广泛使用,它用来在Html页面上展现具有层次结构的数据项.目前市场上常见的JavaScript框 ...

  5. php oracle组件,Oracle 组件 系列 小结

    Oracle 组件 系列 小结 Oracle 组件的信息可以通过v$option 和 dba_registry 查看: --查看v$option: V$OPTIONdisplaysOracle Dat ...

  6. JS组件系列——Bootstrap 树控件使用经验分享 - 懒得安分 - 博客园

    前言:很多时候我们在项目中需要用到树,有些树仅仅是展示层级关系,有些树是为了展示和编辑层级关系,还有些树是为了选中项然后其他地方调用选中项.不管怎么样,树控件都是很多项目里面不可或缺的组件之一.今天, ...

  7. JS组件系列——Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案

    JS组件系列--Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案 参考文章: (1)JS组件系列--Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案 (2) ...

  8. JS组件系列——BootstrapTable 行内编辑解决方案:x-editable

    JS组件系列--BootstrapTable 行内编辑解决方案:x-editable 参考文章: (1)JS组件系列--BootstrapTable 行内编辑解决方案:x-editable (2)ht ...

  9. JS组件系列——自己动手扩展BootstrapTable的 冻结列 功能:彻底解决高度问题

    阅读目录 一.问题追踪 二.效果预览 三.源码解析 1.源码各个方法解释 2.对于上述抛出的ie和谷歌的兼容性问题的解析 3.项目中的使用 4.扩展 四.总结 正文 前言:一年前,博主分享过一篇关于b ...

最新文章

  1. 中国商业航天单轮最大融资!星际荣耀B轮获投11.925亿
  2. python简单编程例子-中文方便就用中文编程!Python图形界面开发实例
  3. PMCAFF微课堂 「已结束」| 京东核心团队揭秘:业务增长10倍背后的敏捷开发秘籍
  4. python列表的嵌套_Python中关于列表嵌套列表的处理
  5. C# 十六进制字符串与数值类型之间转换
  6. rabbitmq 如何删除队列中的消息
  7. Unity3D学习(七):Unity多重采样抗锯齿设置无效的解决办法
  8. Android用户界面设计:框架布局
  9. 使用Java代码连接SAP ABAP Netweaver服务器
  10. C语言汉字写入问题及Unicode优势
  11. 如何自定义Mac 启动台每页的排列数量?
  12. HbuilderX启动 微信开发者工具
  13. 淘宝网或阿里巴巴模拟登陆获取数据
  14. 【原创】nbsp;Window7nbsp;vs201…
  15. Hadoop和Hbase版本选择
  16. 怎样快速生成一个动态二维码?动态个性二维码怎么做?
  17. Cesium开发:简单箭头画法
  18. 抓取中国天气网当前时段所有城市的天气数据(python+xpath)
  19. 安卓机顶盒刷linux系统下载,安卓机顶盒刷机 最简单的刷机教程【图文教程】
  20. GCN变体-graphSAGE

热门文章

  1. Android Scheme跳转协议 (基础)
  2. estore书城项目用到的技术
  3. 易泊车牌识别 停车计费系统解决方案
  4. vue 子页面调用父页面方法、回写父页面数据
  5. Vmix启动时“0的值对于emsize无效”
  6. LemonLime使用指南
  7. C语言中 递归实现字符串逆置
  8. YOLOX全文翻译及环境配置
  9. 单源最短路之Dijkstra算法代码模板
  10. 笨方法学python3 ex20