如何动态给树节点增加title属性或者修改提示信息值
1个回答
2015-08-07 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517181
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
对于zTree树控件,节点的默认提示信息title是节点的name,也就是默认显示节点的名称。你认真了解zTree,不难发现主要是key值在作祟:
view sourceprint?
1.var setting = {
2.data: {
3.key: {
4.title: "s"//这里的s表示节点内的s属性
5.},
这里的key内的title默认指向的就是name属性,或者为空,为空的时候也会默认为name属性。
针对这位朋友的问题,其实方法很多:
1、在后台构造属性
在ajax页面内从数据库拿到数据list过后通过new的形式给最终返回的json对象构造一个属性t出来。然后修改setting内key的title指向属性值为t即可。
返回的json对象数据为:
view sourceprint?
1.var zNodes =[
2.{ id:1, pId:0, name:"节点搜索演示 1", t:"节点提示信息1", open:true},
3.{ id:11, pId:1, name:"关键字可以是名字", t:"节点提示信息2"},
4.{ id:12, pId:1, name:"关键字可以是level", t:"节点提示信息3"}
5.];
修改setting内对应的key值
view sourceprint?
1.var setting = {
2.data: {
3.key: {
4.title: "t"//这里的s表示节点内的s属性
5.},
2、动态修改树节点的属性
当前台给zTree树对象赋值结束后获取所有树节点,然后逐个更新树节点的属性值,示例代码如下所示:
view sourceprint?
01.$(document).ready(function () {
02.$.fn.zTree.init($("#treeDemo"), setting, zNodes);
03.//获取树对象
04.var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
05.//拿到所有树节点
06.var nodes = treeObj.getNodes();
07.//for循环逐个修改树节点属性
08.for(var i = 0;i<nodes.length;i++)
09.{
10.nodes[i].t = "可以自定义排序";
11.//更新节点
12.treeObj.updataNode(nodes[i]);
13.}
14.});
当前如果只是修改部分节点可以在for内加以控制,如果是只更新指定节点可以通过getNodeByParam("属性名称","值",父节点对象)找到指定对象,形如:
view sourceprint?
1.//给节点追加属性
2.var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
3.var node = treeObj.getNodeByParam("id", 1, null);
4.node.s = "可以自定义排序";
5.treeObj.updateNode(node);
view sourceprint?
1.var setting = {
2.data: {
3.key: {
4.title: "s"//这里的s表示节点内的s属性
5.},
这里的key内的title默认指向的就是name属性,或者为空,为空的时候也会默认为name属性。
针对这位朋友的问题,其实方法很多:
1、在后台构造属性
在ajax页面内从数据库拿到数据list过后通过new的形式给最终返回的json对象构造一个属性t出来。然后修改setting内key的title指向属性值为t即可。
返回的json对象数据为:
view sourceprint?
1.var zNodes =[
2.{ id:1, pId:0, name:"节点搜索演示 1", t:"节点提示信息1", open:true},
3.{ id:11, pId:1, name:"关键字可以是名字", t:"节点提示信息2"},
4.{ id:12, pId:1, name:"关键字可以是level", t:"节点提示信息3"}
5.];
修改setting内对应的key值
view sourceprint?
1.var setting = {
2.data: {
3.key: {
4.title: "t"//这里的s表示节点内的s属性
5.},
2、动态修改树节点的属性
当前台给zTree树对象赋值结束后获取所有树节点,然后逐个更新树节点的属性值,示例代码如下所示:
view sourceprint?
01.$(document).ready(function () {
02.$.fn.zTree.init($("#treeDemo"), setting, zNodes);
03.//获取树对象
04.var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
05.//拿到所有树节点
06.var nodes = treeObj.getNodes();
07.//for循环逐个修改树节点属性
08.for(var i = 0;i<nodes.length;i++)
09.{
10.nodes[i].t = "可以自定义排序";
11.//更新节点
12.treeObj.updataNode(nodes[i]);
13.}
14.});
当前如果只是修改部分节点可以在for内加以控制,如果是只更新指定节点可以通过getNodeByParam("属性名称","值",父节点对象)找到指定对象,形如:
view sourceprint?
1.//给节点追加属性
2.var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
3.var node = treeObj.getNodeByParam("id", 1, null);
4.node.s = "可以自定义排序";
5.treeObj.updateNode(node);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询