zTree编辑结点时,希望编辑节点的value,而不是节点的name,求实现思路

发布于 2021-11-24 23:53:56 字数 360 浏览 731 评论 5

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

德意的啸 2021-11-27 16:35:00

"return false 同时 触发自己的代码去显示特殊的输入框去显示ip地址" 编辑ip的输入框需要再另外写是吗?想说能不能利用ztree现有的输入框,捕获取用户编辑点击事件,进入编辑状态前,把节点的ip属性值临时赋给节点的name属性,进入编辑,显示值为ip的name值呢?现有的API有办法做到吗?谢谢

霞映澄塘 2021-11-27 16:33:02

或者,能不能在节点前设置固定“前缀”,那样的话我就可以把name作为“前缀”+ip,编辑时,只将ip进入编辑状态,“前缀”不影响。

琴流音 2021-11-27 09:59:57

利用 beforeEditName 捕获 用户点击 编辑按钮的操作, return false  同时 触发自己的代码去显示特殊的输入框去显示ip地址, 等用户确认后,你在修改 节点的ip 属性的值即可。 如果不涉及视图重绘,都不需要去执行 updateNode 方法

因为看清所以看轻 2021-11-27 05:35:09

非常感谢,beforeEditName解决了。

带上头具痛哭 2021-11-27 00:00:50

利用 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);
}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文