zTree 简介

zTree 是一个依靠 jQuery 实现的多功能 “树插件”。优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点。

zTree 是开源免费的软件(MIT 许可证)。如果您对 zTree 感兴趣或者愿意资助 zTree 继续发展下去,可以进行捐助。

zTree v3.0 将核心代码按照功能进行了分割,不需要的代码可以不用加载

采用了 延迟加载 技术,上万节点轻松加载,即使在 IE6 下也能基本做到秒杀

兼容 IE、FireFox、Chrome、Opera、Safari 等浏览器

支持 JSON 数据

支持静态 和 Ajax 异步加载节点数据

支持任意更换皮肤 / 自定义图标(依靠css)

支持极其灵活的 checkbox 或 radio 选择功能

提供多种事件响应回调

灵活的编辑(增/删/改/查)功能,可随意拖拽节点,还可以多节点拖拽哟

在一个页面内可同时生成多个 Tree 实例

简单的参数配置实现 灵活多变的功能

先来一张完成图:

原理很简单:利用zTree的addDiyDom方法,自定义每个DOM节点,在原来的节点后面加一些div,再利用css样式使它看起来像个表格。

下面是完整代码(更新于2017-7-30 08:56 )

demo.html:

Demo by dq

/*按钮*/

.icon_div {

display: inline-block;

height: 25px;

width: 35px;

background: url(http://c.csdnimg.cn/public/common/toolbar/images/f_icon.png) no-repeat 12px -127px;

}

.icon_div a {

display: inline-block;

width: 27px;

height: 20px;

cursor: pointer;

}

/*end--按钮*/

/*ztree表格*/

.ztree {

padding: 0;

border: 2px solid #CDD6D5;

}

.ztree li a {

vertical-align: middle;

height: 30px;

}

.ztree li > a {

width: 100%;

}

.ztree li > a,

.ztree li a.curSelectedNode {

padding-top: 0px;

background: none;

height: auto;

border: none;

cursor: default;

opacity: 1;

}

.ztree li ul {

padding-left: 0px

}

.ztree div.diy span {

line-height: 30px;

vertical-align: middle;

}

.ztree div.diy {

height: 100%;

width: 20%;

line-height: 30px;

border-top: 1px dotted #ccc;

border-left: 1px solid #eeeeee;

text-align: center;

display: inline-block;

box-sizing: border-box;

color: #6c6c6c;

font-family: "SimSun";

font-size: 12px;

overflow: hidden;

}

.ztree div.diy:first-child {

text-align: left;

text-indent: 10px;

border-left: none;

}

.ztree .head {

background: #5787EB;

}

.ztree .head div.diy {

border-top: none;

border-right: 1px solid #CDD2D4;

color: #fff;

font-family: "Microsoft YaHei";

font-size: 14px;

}

/*end--ztree表格*/

var zTreeNodes;

var setting = {

view: {

showLine: false,

showIcon: false,

addDiyDom: addDiyDom

},

data: {

simpleData: {

enable: true

}

}

};

/**

* 自定义DOM节点

*/

function addDiyDom(treeId, treeNode) {

var spaceWidth = 15;

var liObj = $("#" + treeNode.tId);

var aObj = $("#" + treeNode.tId + "_a");

var switchObj = $("#" + treeNode.tId + "_switch");

var icoObj = $("#" + treeNode.tId + "_ico");

var spanObj = $("#" + treeNode.tId + "_span");

aObj.attr('title', '');

aObj.append('

var div = $(liObj).find('div').eq(0);

switchObj.remove();

spanObj.remove();

icoObj.remove();

div.append(switchObj);

div.append(spanObj);

var spaceStr = "";

switchObj.before(spaceStr);

var editStr = '';

editStr += '

' + (treeNode.CONTACT_USER == null ? ' ' : treeNode.CONTACT_USER) + '

';

var corpCat = '

' + treeNode.CORP_CAT + '

';

editStr += '

' + (treeNode.CORP_CAT == '-' ? ' ' : corpCat ) + '

';

editStr += '

' + (treeNode.CONTACT_PHONE == null ? ' ' : treeNode.CONTACT_PHONE ) + '

';

editStr += '

' + formatHandle(treeNode) + '

';

aObj.append(editStr);

}

/**

* 查询数据

*/

function query() {

var data = [{"CONTACT_USER":"张三","CONTACT_PHONE":"18888888888","addFlag":true,"ORG_ID":1,"id":"o1","pId":"onull","open":true,"name":"单位1","modFlag":true,"CORP_CAT":"港口-天然液化气,港口-液化石油气","TYPE":"org","delFlag":true},{"CONTACT_USER":null,"SECTOR_NAME":"部门1","addFlag":true,"CONTACT_PHONE":null,"SECTOR_ID":1,"ORG_ID":1,"id":"s1","pId":"o1","name":"部门1","modFlag":true,"PARENT_ID":null,"CORP_CAT":"港口-天然液化气","TYPE":"sector","delFlag":true},{"CONTACT_USER":null,"SECTOR_NAME":"部门12","addFlag":true,"CONTACT_PHONE":"0","SECTOR_ID":2,"ORG_ID":1,"id":"s2","pId":"s1","name":"部门12","modFlag":true,"PARENT_ID":1,"CORP_CAT":"港口-集装箱","TYPE":"sector","delFlag":true},{"CONTACT_USER":null,"SECTOR_NAME":"部门13","addFlag":true,"CONTACT_PHONE":"0","SECTOR_ID":3,"ORG_ID":1,"id":"s3","pId":"s1","name":"部门13","modFlag":true,"PARENT_ID":1,"CORP_CAT":"港口-集装箱","TYPE":"sector","delFlag":true},{"CONTACT_USER":null,"SECTOR_NAME":"部门24","addFlag":true,"CONTACT_PHONE":"0","SECTOR_ID":4,"ORG_ID":1,"id":"s4","pId":"s2","name":"部门24","modFlag":true,"PARENT_ID":2,"CORP_CAT":"港口-集装箱","TYPE":"sector","delFlag":true},{"CONTACT_USER":null,"SECTOR_NAME":"部门35","addFlag":true,"CONTACT_PHONE":"0","SECTOR_ID":5,"ORG_ID":1,"id":"s5","pId":"s3","name":"部门35","modFlag":true,"PARENT_ID":3,"CORP_CAT":"港口-集装箱","TYPE":"sector","delFlag":true},{"CONTACT_USER":null,"SECTOR_NAME":"部门22","addFlag":true,"CONTACT_PHONE":"0","SECTOR_ID":8,"ORG_ID":1,"id":"s8","pId":"s2","name":"部门22","modFlag":true,"PARENT_ID":2,"CORP_CAT":"-","TYPE":"sector","delFlag":true},{"CONTACT_USER":null,"SECTOR_NAME":"部门23","addFlag":true,"CONTACT_PHONE":"0","SECTOR_ID":9,"ORG_ID":1,"id":"s9","pId":"s2","name":"部门23","modFlag":true,"PARENT_ID":2,"CORP_CAT":"-","TYPE":"sector","delFlag":true},{"CONTACT_USER":"打撒","SECTOR_NAME":"不爱的是分散","addFlag":true,"CONTACT_PHONE":"1231231","SECTOR_ID":21,"ORG_ID":1,"id":"s21","pId":"o1","name":"不爱的是分散","modFlag":true,"PARENT_ID":null,"CORP_CAT":"港口-天然液化气","TYPE":"sector","delFlag":true},{"CONTACT_USER":"111","SECTOR_NAME":"test","addFlag":true,"CONTACT_PHONE":"222","SECTOR_ID":29,"ORG_ID":1,"id":"s29","pId":"s2","name":"test","modFlag":true,"PARENT_ID":2,"CORP_CAT":"港口-集装箱","TYPE":"sector","delFlag":true},{"CONTACT_USER":null,"SECTOR_NAME":"22","addFlag":true,"CONTACT_PHONE":null,"SECTOR_ID":38,"ORG_ID":1,"id":"s38","pId":"o1","name":"22","modFlag":true,"PARENT_ID":null,"CORP_CAT":"-","TYPE":"sector","delFlag":true},{"CONTACT_USER":null,"SECTOR_NAME":"部门9","addFlag":true,"CONTACT_PHONE":null,"SECTOR_ID":61,"ORG_ID":1,"id":"s61","pId":"o1","name":"部门9","modFlag":true,"PARENT_ID":null,"CORP_CAT":"港口-天然液化气","TYPE":"sector","delFlag":true},{"CONTACT_USER":"sara","SECTOR_NAME":"流星雨","addFlag":true,"CONTACT_PHONE":"11111111111","SECTOR_ID":141,"ORG_ID":1,"id":"s141","pId":"s1","name":"流星雨","modFlag":true,"PARENT_ID":1,"CORP_CAT":"-","TYPE":"sector","delFlag":true},{"CONTACT_USER":"流星","SECTOR_NAME":"1级部门","addFlag":true,"CONTACT_PHONE":"11111111111","SECTOR_ID":142,"ORG_ID":1,"id":"s142","pId":"o1","name":"1级部门","modFlag":true,"PARENT_ID":null,"CORP_CAT":"港口-天然液化气","TYPE":"sector","delFlag":true},{"CONTACT_USER":"11","SECTOR_NAME":"11","addFlag":true,"CONTACT_PHONE":"11111111111","SECTOR_ID":145,"ORG_ID":1,"id":"s145","pId":"s1","name":"11","modFlag":true,"PARENT_ID":1,"CORP_CAT":"港口-集装箱","TYPE":"sector","delFlag":true},{"CONTACT_USER":"ff","SECTOR_NAME":"fff","addFlag":true,"CONTACT_PHONE":"11","SECTOR_ID":146,"ORG_ID":1,"id":"s146","pId":"s1","name":"fff","modFlag":true,"PARENT_ID":1,"CORP_CAT":"港口-油码头","TYPE":"sector","delFlag":true},{"CONTACT_USER":"1","SECTOR_NAME":"1","addFlag":true,"CONTACT_PHONE":"1","SECTOR_ID":161,"ORG_ID":1,"id":"s161","pId":"o1","name":"1","modFlag":true,"PARENT_ID":null,"CORP_CAT":"港口-天然液化气","TYPE":"sector","delFlag":true}];

//初始化列表

zTreeNodes = data;

//初始化树

$.fn.zTree.init($("#dataTree"), setting, zTreeNodes);

//添加表头

var li_head = '

名称
联系人
主管行业

' +

'

联系方式
操作

';

var rows = $("#dataTree").find('li');

if (rows.length > 0) {

rows.eq(0).before(li_head)

} else {

$("#dataTree").append(li_head);

$("#dataTree").append('

无符合条件数据

')

}

}

/**

* 根据权限展示功能按钮

* @param treeNode

* @returns {string}

*/

function formatHandle(treeNode) {

var htmlStr = '';

htmlStr += '

';

htmlStr += '

';

htmlStr += '

';

htmlStr += '

';

return htmlStr;

}

$(function () {

//初始化数据

query();

})

总结

以上所述是小编给大家介绍的基于jQuery ztree实现表格风格的树状结构,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

表格 树形结构 HTML CSS,基于jQuery ztree实现表格风格的树状结构相关推荐

  1. 树状结构大数据类型的高效支持

    树状结构大数据类型的高效支持 陈世敏 中国科学院计算技术研究所,北京 100190 摘要:传统的关系数据模型难以满足大数据应用日益丰富的数据表达和处理的需求,因此实践中涌现了多种非传统的大数据类型.其 ...

  2. php相同数据合并单元格,jQuery_基于jQuery的合并表格中相同文本的相邻单元格的代码,ONE 已经生成的数据表格大致 - phpStudy...

    基于jQuery的合并表格中相同文本的相邻单元格的代码 ONE 已经生成的数据表格大致内容如下: 地区 地区 商品代码 商品名称 数量 有效期至 距效期(月) 产品批号 规格 单位 条形码 广东 深圳 ...

  3. 基于jQuery的jsp表格动态合并

    基于jQuery的jsp表格动态合并 代码展示 代码展示 <tr><th style="text-align: center" >申报编号</th&g ...

  4. Jquery实现无限级树状结构并动态添加增删改等编辑功能

    点击打开链接 源:http://www.56gee.com/Detail/2012/04/11/8AEB74E423/ <!DOCTYPE html PUBLIC "-//W3C//D ...

  5. vue项目结合iview4UI组件实现树状结构及复杂动态表头列表 Tree-Table 及复杂header 省市区树状表格联动 数据优化后台一次性返回一万条数据页面卡死问题

    一.首先看看需求最终效果图,该需求总共罗列以下几点 最左侧采用树状结构将地址省市区县街道展示出来,并且控制名称长度限制,多余的用省略号表示,鼠标悬浮上去名称展示出来 列表默认展示市一级数据,县及街道数 ...

  6. 使用jQuery Treeview插件实现树状结构效果

    首先到一个国外网站上下载Treeview插件: http://bassistance.de/jquery-plugins/jquery-plugin-treeview/ 当然你也可以通过我博客的源文件 ...

  7. element表格多列排序_vue表格树状结构的实现

    这绝对是我最后一次写树状结构,我非常的确定一定以及肯定! 上一篇文章总结了vue树状目录组件,忘记的可以点击传送门回顾一下: vue目录树组件 还是这个目录树,改版成 表格树状结构 . 我这里采用的U ...

  8. 我的前端工具集(四)树状结构后篇

    我的前端工具集(四)树状结构后篇   liuyuhang原创,未经允许禁止转载 目录 我的前端工具集 上文连接 我的前端工具集(四)树状结构前偏 1.数据组织 在3.2.节有截图 2.树状结构代码 2 ...

  9. 下拉菜单实现树状结构_树形图:复杂层次结构的数据可视化

    树形图:复杂层次结构的数据可视化 作者:Page Laubheimer[1] 树形图是一种复杂的,基于区域的数据可视化,用于复杂层次结构的数据,可能难以精确解释.在许多情况下,最好使用更简单的可视化效 ...

最新文章

  1. SilverLight 一日两次碰壁
  2. 参加第十六届全国大学生智能车竞赛广东省报名队伍
  3. ubuntu linux下解决“no java virtual machine was found after searching the following locations:”的方法
  4. FCC有意支持Sprint与T-Mobile合并?
  5. Java开发知识之Java面相对象
  6. Oracle 11g Dataguard参数详解
  7. hexo右下角弄一个live2d的卡通动画小人
  8. 白帽子技术分析会话劫持实战讲解
  9. linux系统加固建议
  10. 终于有人把SaaS讲明白了
  11. VMware Server 2.0下载和序列号正版
  12. 卸载wps后,安装office,图标关联失败
  13. python初步学习笔记(上)
  14. 【CVPR2022】论文列表与下载——PartFour
  15. linux病毒扫描工具,linux病毒扫描工具ClamAV使用
  16. nvidia平台gst-launch-1.0使用记录
  17. 共享充电宝方案原理,具体部件组成以及主控MUC参数
  18. Android系统触摸屏移植后出现小圆圈
  19. RHCI 搭建 rhca 教室环境
  20. 第二章练习题(2):计算圆柱面积和体积

热门文章

  1. 电工杯:电动汽车充放电优化管理
  2. 趁着课余时间学点Python(十四)文件操作
  3. 计算机共享文件误删怎么恢复,删除计算机回收站中的文件后如何恢复知识共享...
  4. JDBC 面试题 | 玉琼楼 慵归去
  5. xposed框架应用
  6. 12个很棒的学习 jQuery 的网站推荐
  7. 关于红队武器库项目介绍
  8. 关于大数据和人工智能发展的思考
  9. 2021年全球CT和PET扫描仪收入大约7229.4百万美元,预计2028年达到7883百万美元
  10. 详析运动健身APP开发市场