怎么得到ztree的style title内容

 我来答
佼商僦2329
2017-07-17 · TA获得超过641个赞
知道小有建树答主
回答量:1331
采纳率:40%
帮助的人:233万
展开全部

对于zTree树控件,节点的默认提示信息title是节点的name,也就是默认显示节点的名称。你认真了解zTree,不难发现主要是key值在作祟:


view sourceprint?

  1. var setting = {

  2. 2.data: {

  3. 3.key: {

  4. 4.title: "s"//这里的s表示节点内的s属性

  5. 5.},

这里的key内的title默认指向的就是name属性,或者为空,为空的时候也会默认为name属性。

针对这位朋友的问题,其实方法很多:

1、在后台构造属性

在ajax页面内从数据库拿到数据list过后通过new的形式给最终返回的json对象构造一个属性t出来。然后修改setting内key的title指向属性值为t即可。

返回的json对象数据为:


view sourceprint?

  1. var zNodes =[

  2. 2.{ id:1, pId:0, name:"节点搜索演示 1", t:"节点提示信息1", open:true},

  3. 3.{ id:11, pId:1, name:"关键字可以是名字", t:"节点提示信息2"},

  4. 4.{ id:12, pId:1, name:"关键字可以是level", t:"节点提示信息3"}

  5. 5.];

修改setting内对应的key值


view sourceprint?

  1. var setting = {

  2. 2.data: {

  3. 3.key: {

  4. 4.title: "t"//这里的s表示节点内的s属性

  5. 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. 2.var treeObj = $.fn.zTree.getZTreeObj("treeDemo");

  3. 3.var node = treeObj.getNodeByParam("id", 1, null);

  4. 4.node.s = "可以自定义排序";

  5. 5.treeObj.updateNode(node);

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式