jsTree的CRRM插件的文档指出copy()方法“复制节点(准备粘贴)”并获取“可以是DOM节点”的参数,jQuery节点或选择器指向树中的元素“。 所有这些都是单数。
对于paste(),它表示“粘贴复制或剪切节点内的节点”。暗示它支持粘贴多个节点。
但是,我无法弄清楚如何复制多个节点。可能吗?如果是这样,我需要传递给copy()方法?
我应该提到我正在使用复选框插件,并且使用它们完成复制的节点选择。目前我调用get_checked()方法来获取已检查的节点。 它不能将此调用的结果传递给copy()。我最终做的是循环get_checked()的结果,获取每个节点的id,然后为每个节点调用copy()和paste()。
麻烦的是,我的“move.jstree”事件的处理程序(粘贴时触发)执行ajax调用来执行服务器端更新。如果我粘贴10个节点,那么我会得到10个ajax调用,这很愚蠢。我想做一个处理多个节点粘贴的ajax调用。一定是可能的,对吧?
提前感谢任何指示。
答案 0 :(得分:3)
回答我自己的问题。
我需要做的就是将节点ID连接成一个选择器字符串并调用...
$('jstreediv').jstree('copy', '#node1, #node2, #mode3');
...复制多个节点,然后只需调用粘贴将它们全部粘贴......
$('jstreediv').jstree('paste', '#id-of-target-folder');
所以这只是一个文档问题。