2
回答
zTree编辑结点时,希望编辑节点的value,而不是节点的name,求实现思路
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

@zTree 你好,想跟你请教个问题:

如图,采用zTree作为对象成员列表,其中的项可编辑、删除,需求是:对象成员列表下的成员,都是name:value键值对,显示的是name,但进入编辑状态时希望编辑value,请问有什么思路解决呢?

例如:[网络地址 : 10.4.8.99/24],显示为“网络地址”,进入编辑状态时,希望编辑的是“ 10.4.8.99/24”。
急等回复,谢谢

举报
yuhou952945457
发帖于3年前 2回/1K+阅
共有2个答案 最后回答: 3年前

利用 onNodeCreated 回调你可以根据自己的需求适当修改 节点 dom 结构, 或者说添加自己需要的dom;

直接利用 zTree 的编辑框,按照你的思路。。。。你可以尝试这么做,应该也是可以的。

beforeEditName: function(treeId, treeNode) {
    treeNode._name = treeNode.name;
    treeNode.name = '123';
    return true;
},
onRename: function(event, treeId, treeNode) {
    var zTree = $.fn.zTree.getZTreeObj("treeDemo");
    treeNode.ip = treeNode.name;
    treeNode.name = treeNode._name;
    delete treeNode._name;
    zTree.updateNode(treeNode);
}



--- 共有 1 条评论 ---
yuhou952945457非常感谢,beforeEditName解决了。 3年前 回复
利用 beforeEditName 捕获 用户点击 编辑按钮的操作, return false  同时 触发自己的代码去显示特殊的输入框去显示ip地址, 等用户确认后,你在修改 节点的ip 属性的值即可。 如果不涉及视图重绘,都不需要去执行 updateNode 方法
--- 共有 2 条评论 ---
yuhou952945457或者,能不能在节点前设置固定“前缀”,那样的话我就可以把name作为“前缀”+ip,编辑时,只将ip进入编辑状态,“前缀”不影响。 3年前 回复
yuhou952945457"return false 同时 触发自己的代码去显示特殊的输入框去显示ip地址" 编辑ip的输入框需要再另外写是吗?想说能不能利用ztree现有的输入框,捕获取用户编辑点击事件,进入编辑状态前,把节点的ip属性值临时赋给节点的name属性,进入编辑,显示值为ip的name值呢?现有的API有办法做到吗?谢谢 3年前 回复
顶部