実装のアイデア: 1. ztree のノードはデータ ソースとして json 配列を使用するため、json 文字列が直接操作されてから、json オブジェクト配列に変換されます。 2. 次に、新しく形成された json 配列オブジェクトを使用して ztree オブジェクトを再初期化します。 コードをコピー コードは次のとおりです: <br> var zTreeObj1;<br> var zTreeObj2;<br> var leftDivStr = "[";<br> var rightDivStr = "[";<br> var setting = {<br> edit: {<br> enable: false,<br> showRemoveBtn: false,<br> showRenameBtn: false<br> },<br> data: {<br> simpleData: {<br> enable: true<br> }<br> },<br> callback: {<br> //onClick : menuOnClick<br> }<br> };<br> function menuOnClick(event, treeId, treeNode, clickFlag) {<br><br> }<br> //注册toSource函数,解决ie不支持Array的toSource()方法的问题<br> Array.prototype.toSource = function (){<br> var str = "[";<br> for(var i = 0 ;i<this.length;i++){<br> str+="{id:\""+this[i].id+<br> "\",pId:\""+this[i].pId<br> +"\",name:\""+this[i].name<br> +"\",isParent:\""+this[i].isParent<br> +"\",file:\""+this[i].file<br> +"\",icon:\""+this[i].icon<br> +"\",open:\""+this[i].open<br> +"\"},";<br> }<br> if(this.length != 0){<br> str = str.substring(0, str.length-1);<br> }<br> str +="]";<br> return str; <p> } ;<br> //注册unique函数,去掉array中重复的对象(id相同即为同一对象)<br> Array.prototype.unique = function (){<br> var r = new Array();<br> label:for(var i = 0, n = this.length; i < n; i++) {<br> for(var x = 0, y = r.length; x < y; x++) {<br> if(r[x].id == this[i].id) {<br> continue label;<br> }<br> }<br> r[r.length] = this[i];<br> }<br> return r;</p> <p> ; 11、pId:1、name:"リーフノード 1-1",open:true},<br> 112、pId:11、名前:「リーフノード 11-2」}、<br> 121 、pid:12、name: "Leaf node 12-1"}、<br>1、name: "Leaf node 1-3"}、<br>name: "Leaf node 2-1"}、<br>node 2-3 "}, <br> {id: 3, pid: 0, name:" 親ノード 3 ", Open: TRUE}, <br> {id: 31, pid: 3, name:" リーフ ノード 3 3 -1 "}、<br>{id:32、pid:3、name:" leaf node 3-2 "}、<br><br>stos i] .pid"、name: "" znodes [i]。 name "",open:" zNodes[i].open "},";<br> }<br> leftDivStr = leftDivStr.substring(0,leftDivStr. length-1);<br> leftDivStr ="]";<br> rightDivStr = "]";<br><br> //移動されたノードのすべての親ノードを検索します<br> function findParentNodes(treeNode,parentNodes){ <br> ParentNodes = "{id:" time.id ", pid:" time.pid <br> "、name:" "time.name" ""、open: "time.open"}、"; <br> If (Treenode! = Null && Treenode.getparentnode ()! = Null) } Return Parentnodes; <br>} <br> //ノードを移動<br> function moveNodes(zTreeFrom,treeNode,zTreeTo,divStrFrom,divStrTo){<br> /////////// ///////////////////TreeNodeのすべての親ノード<br>var parentnodes = "[";<br>treeNode<br>parentNodesのすべての親ノード=parentNodes.substring(0,parentNodes.length-1);<br><br><br>parentNodes = "]";<br>// alert(parentnodes); <br>var parentnodesArray = eval(parentnodes); <br>/////////// /////////////////<br> var ノード = "[";<br> ノード = "{id:"treeNode.id ",pId:"treeNode.pId ", name:""treeNode.name "",open:"treeNode.open "},";<br> ノード = operChildrenNodes(treeNode,nodes);<br> ノード = nodes.substring(0,nodes.length-1) ;<br> ノード ="]";<br> var nodesArray = eval(nodes);<br> var divFromArray = eval(divStrFrom);<br> var divToArray = eval(divStrTo) );<br> for(var i = 0;i<nodesArray.length;i ){///删除节点<br> for(var j = 0;j<divFromArray.length;j ){<br> if(divFromArray[j].id == nodesArray[ i].id){<br> divFromArray.splice(j,1);<br> }<br> }<br> ><br> divToArray = divToArray.concat(nodesArray);//增加节点<br> divToArray = divToArray.concat(parentNodesArray);<br><br> ///////////////////////////////// //////////////////////////////////////////////// ////去重复<br> divFromArray = divFromArray.unique();<br> divToArray = divToArray.unique();<br> /////////////////// //////////////////////////////////////////////// //////////////////////去重复<br><br> if(zTreeFrom.setting.treeId == "treeDemo"){<br> leftDivStr = divFromArray .toSource();<br> rightDivStr =divToArray.toSource();<br> $.fn.zTree.init($("#treeDemo"), settings, divFromArray);<br> $ .fn.zTree.init ($("#treeDemo2"), settings,divToArray);<br><br> }else{<br> leftDivStr = divToArray.toSource();<br> rightDivStr =divFromArray.toSour ce();<br> $. fn.zTree.init($("#treeDemo2"), settings, divFromArray);<br> $.fn.zTree.init($("#treeDemo"), settings,divToArray);<br> }<br> }(var j = 0; j&lt; treeNode.children.length; j){<br>var Childnode = treenode.children [j];<br>nodes = "{id {id :" id " ,pId:" childNode.pId ",name:"" childNode.name "",open:" childNode.open "},";<br> ノード = operChildrenNodes(childNode, ノード); } else{/ /子ノードなし<br> }<br> ノードを返します;<br> }<br><br> zTreeObj1 = $.fn. init($("#treeDemo"), 設定, zNodes);<br> zTreeObj2 = $.fn.zTree.init($("#treeDemo2"), settings);<br> $(function() { <br> $("#toRight").click(function() {<br> });<br>( "#toleft")。click(function(){<br> movenodes(ztreeobj2、ztreeobj2.getSelectedNodes()[0]、ztreeobj1、rightdivstr、regfdivstr); "#show")。クリック(#show ")。 function(){<br> for(var i = 0;i<leftDivStrArray.length; i ){<br> = eval (rightDivStr); i<right divstrarray.length><br> アラート(leftDiv);<br> アラート(rightDiv);<br><br> }); <br> });<br> });<br><br> <br> html代: 复制代代码如下: >> <<< /button> show