ztree 右键菜单 重命名 ,新名称值传入后台

ztree 右键菜单 重命名 ,新名称值传入后台,第1张

var setting = { 

  callback: {

   beforeRename:

beforeRename,

  }

};

function beforeRename(treeId, treeNode,newName, isCancel){

  //newName 就是新名字

}

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

view sourceprint

var setting = {

2data: {

3key: {

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

5},

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

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

1、在后台构造属性

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

返回的json对象数据为:

view sourceprint

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

var setting = {

2data: {

3key: {

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

5},

2、动态修改树节点的属性

当前台给zTree树对象赋值结束后获取所有树节点,然后逐个更新树节点的属性值,示例代码如下所示:

view sourceprint

01$(document)ready(function () {

02$fnzTreeinit($("#treeDemo"), setting, zNodes);

03//获取树对象

04var treeObj = $fnzTreegetZTreeObj("treeDemo");

05//拿到所有树节点

06var nodes = treeObjgetNodes();

07//for循环逐个修改树节点属性

08for(var i = 0;i<nodeslength;i++)

09{

10nodes[i]t = "可以自定义排序";

11//更新节点

12treeObjupdataNode(nodes[i]);

13}

14});

当前如果只是修改部分节点可以在for内加以控制,如果是只更新指定节点可以通过getNodeByParam("属性名称","值",父节点对象)找到指定对象,形如:

view sourceprint

//给节点追加属性

2var treeObj = $fnzTreegetZTreeObj("treeDemo");

3var node = treeObjgetNodeByParam("id", 1, null);

4nodes = "可以自定义排序";

5treeObjupdateNode(node);

呵呵,最简单的办法,其实就是拼写字符串,你怎么拼出来 jsp页面的html内容的?? 那么只需要按照 json格式拼出全部字符串即可。

可以参考 异步加载 Demo 中得到的数据(请利用 chrome 的调试工具进行跟踪调试)

如果对象比较复杂,那么可以在谷歌上搜索一下:“java json 输出” 会有很多教程和 lib 推荐

<script>

function filter(node) { //过滤器直选中2级节点累加

return (nodelevel == 2 && nodechecked == true);

}

var setting = { //设置

check: {

enable: true

},

callback: {

onCheck: onCheck

}};

function onCheck(e, treeId, treeNode){ //这是将所有选中节点的名字 用,分割做拼接 用于持久化到数据库

var zTree = $fnzTreegetZTreeObj("tree")getNodesByFilter(filter);

var choose = "";

for (var i=0;i<zTreelength;i++) {

if(zTree[i]name !=null)

choose +=(i == (zTreelength-1))zTree[i]name:zTree[i]name+",";

}

$("#ztreesnames")val(choose);

treeIds();

}

function treeIds(){ //这是将选中的节点的id用;分割拼接起来,用于持久化到数据库

var zTreeO = $fnzTreegetZTreeObj("tree")getNodesByFilter(filter);

var idListStr = "";

for (var i = 0; i < zTreeOlength; i++) {

if (zTreeO[i]id != null) {

idListStr+= (i == (zTreeOlength-1))zTreeO[i]id:zTreeO[i]id+";";

}

};

$("#ztreeids")val(idListStr);

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

以上就是关于ztree 右键菜单 重命名 ,新名称值传入后台全部的内容,包括:ztree 右键菜单 重命名 ,新名称值传入后台、怎么得到ztree的style title内容、ztree高手进(关于java)!!!在线等!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9833962.html

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

发表评论

登录后才能评论

评论列表(0条)

保存