如何动态给节点增加title属性或者修改提示信息值?

如何动态给节点增加title属性或者修改提示信息值?,第1张

对于zTree树控件,节点的默认提示信息title是节点的name,也就是默认显示节点的名称。你认真了解zTree,不难发现主要是key值在作祟:\x0d\x0a\x0d\x0aview sourceprint?\x0d\x0a1.var setting = {\x0d\x0a2.data: {\x0d\x0a3.key: {\x0d\x0a4.title: "s"//这里的s表示节点内的s属性\x0d\x0a5.},\x0d\x0a\x0d\x0a这里的key内的title默认指向的就是name属性,或者为空,为空的时候也会默认为name属性。\x0d\x0a针对这位朋友的问题,其实方法很多:\x0d\x0a1、在后台构造属性\x0d\x0a在ajax页面内从数据库拿到数据list过后通过new的形式给最终返回的json对象构造一个属性t出来。然后修改setting内key的title指向属性值为t即可。\x0d\x0a返回的json对象数据为:\x0d\x0a\x0d\x0aview sourceprint?\x0d\x0a1.var zNodes =[\x0d\x0a2.{ id:1, pId:0, name:"节点搜索演示 1", t:"节点提示信息1", open:true},\x0d\x0a3.{ id:11, pId:1, name:"关键字可以是名字", t:"节点提示信息2"},\x0d\x0a4.{ id:12, pId:1, name:"关键字可以是level", t:"节点提示信息3"}\x0d\x0a5.]\x0d\x0a\x0d\x0a修改setting内对应的key值\x0d\x0a\x0d\x0aview sourceprint?\x0d\x0a1.var setting = {\x0d\x0a2.data: {\x0d\x0a3.key: {\x0d\x0a4.title: "t"//这里的s表示节点内的s属性\x0d\x0a5.},\x0d\x0a\x0d\x0a2、动态修改树节点的属性\x0d\x0a当前台给zTree树对象赋值结束后获取所有树节点,然后逐个更新树节点的属性值,示例代码如下所示:\x0d\x0a\x0d\x0aview sourceprint?\x0d\x0a01.$(document).ready(function () {\x0d\x0a02.$.fn.zTree.init($("#treeDemo"), setting, zNodes)\x0d\x0a03.//获取树对象\x0d\x0a04.var treeObj = $.fn.zTree.getZTreeObj("treeDemo")\x0d\x0a05.//拿到所有树节点\x0d\x0a06.var nodes = treeObj.getNodes()\x0d\x0a07.//for循环逐个修改树节点属性\x0d\x0a08.for(var i = 0i 回答于 2022-12-11

请不要再多给节点添加 click 事件了,完全没有必要,只会影响性能。 zTree 是以节点数据为核心,并且提供了自己的 onClick 回调,而且 zTree 的所有回调都会返回 节点数据 json 对象,通过 json 对象你可以随意取得自定义的任何属性。 例如: 你自定义了 A属性, 在节点 “aa 内, 那么节点aa 的数据可能为: {name:aa, id:1, pId:-1, A:test} 那么在任何回调中得到的 treeNode 数据就是这个 json 对象的clone,获取A 只需要: treeNode.A 另外,你也可以利用 调试工具 console.log 打印 treeNode ,就可以看到了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11172927.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存