1

用于 jsTree 的 CRRM 插件的文档指出 copy() 方法“复制节点(准备粘贴) ”并采用“可以是 DOM 节点、jQuery 节点或指向树中元素的选择器”的参数. 这一切都是奇异的。

对于 paste() 它说“粘贴复制或剪切节点内的节点”。暗示它支持多个节点的粘贴。

但是,我一直无法弄清楚如何复制多个节点。可能吗?如果是这样,我需要将什么传递给 copy() 方法?

我应该提到我正在使用复选框插件,并且复制的节点选择是使用它们完成的。目前我调用 get_checked() 方法来获取检查的节点。将此调用的结果传递给 copy() 不起作用。我最终做的是循环get_checked()的结果,获取每个节点的id,然后为每个节点调用copy()和paste()。

问题是,我的“move.jstree”事件(粘贴时触发)的处理程序执行 ajax 调用来进行服务器端更新。如果我粘贴 10 个节点,那么我会得到 10 个 ajax 调用,这很愚蠢。我想做一个处理多个节点粘贴的ajax调用。应该有可能吧?

在此先感谢您的任何指点。

4

1 回答 1

4

回答我自己的问题。

我需要做的就是将节点 ID 连接到选择器字符串中并调用...

$('jstreediv').jstree('copy', '#node1, #node2, #mode3');

...复制多个节点,然后只需调用 paste 将它们全部粘贴...

$('jstreediv').jstree('paste', '#id-of-target-folder');

所以这实际上只是一个文档问题。

于 2013-04-18T12:55:41.817 回答