树形图html插件,前端树形图 -- zTree -- jQuery 树插件

zTree是一个基于jQuery的开源免费树插件,具备延迟加载、多种数据格式支持、多事件回调等功能。它支持静态和Ajax异步加载节点,兼容多种浏览器,并允许灵活配置。通过设置不同的参数,可以实现checkbox或radio选择,拖拽节点,以及编辑功能。本文介绍了zTree的基本应用,包括数据结构、所需库的引入、HTML结构和JavaScript设置。

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

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

zTree 是开源免费的软件(MIT 许可证)。所以完全免费,可以随便使用,没有任何版权问题。

zTree文档

zTree插件的优点:

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

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

兼容 IE、FireFox、Chrome、Opera、Safari 等浏览器(亲测,IE8+, FireFox, Chrome都可以正常使用)

支持 JSON 数据

支持静态 和 Ajax 异步加载节点数据(Ajax异步加载可以使插件的初始化速度更快,同时减少流量)

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

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

提供多种事件响应回调 (可以让你的树更灵活)

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

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

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

同时,zTree的文档也已经很强大,而且应该是中国人开发的,所以提供中文文档,还提供了中文论坛的讨论区,包括百度贴吧也会有人常驻回答问题,这样就更近一步的让你对这个插件的使用更容易,获取资料更容易。

这里就讲一下zTree的最基本应用。

首先,zTree必须的就是数据,zTree可以接受两种数据,

一种是默认的数据类型:(这一种,所有的数据结构层级都显示在上面)

zTreeNodes = [

{"name":"网站导航", open:true, children: [

{ "name":"google", "url":"http://g.cn", "target":"_blank"},

{ "name":"baidu", "url":"http://baidu.com", "target":"_blank"},

{ "name":"sina", "url":"http://www.sina.com.cn", "target":"_blank"}

]

}

];

还有一种是使用simpleData:(这里面主要根据id,isParent和pId来进行层级判断,我个人一直在使用这个形式,对于处理数据来说,这里对后台处理起来比较方便)

[{"id":1357,"name":"山东省","isParent":true,"pId":0},

{"id":1358,"name":"济南市","isParent":true,"pId":1357}]

其次,我们就需要添加对应的js和css库,jQuery也是必须的:

然后,一切就很简单,在HTML加入一个zTree的ul,class必须是zTree,必须有Id(用于以后获取zTree的对象)

最后,我们需要在js中写显示的setting,然后用初始化方法,对tree进行初始化

var checkSetting = {

check: {

enable: true, // 默认使用checkBox形式

chkboxType: { "Y": "ps", "N": "ps" }

},

data: {

simpleData: {

enable: true // 使用simpleData

}

},

view: {

nameIsHTML: true // 如果name中需要有html处理的话,那么把这个设为true。我一般开着,更灵活一点

}

};

$.fn.zTree.init($("#ztree"), checkSetting, data);

这样子一个tree就能显示出来啦。

在提供一下radio的setting和只能查看的setting:

var radiocheckSetting =

{

check: {

enable: true,

chkboxType: { "Y": "ps", "N": "ps" },

chkStyle: "radio",

radioType: "all" // "level"

},

data: {

simpleData: {

enable: true

}

},

view: {

nameIsHTML: true

}

};

var showSetting =

{

check: {

enable: false,

chkboxType: { "Y": "ps", "N": "ps" }

},

data: {

simpleData: {

enable: true

}

},

view:{

showIcon:false,

nameIsHTML: true

}

};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值