解决ajax调用后原页面被覆盖的问题,楼主源码里有toString方法,可以替换掉document.write方法,但是这颗树的第三层节点被选中后再次取消时,其所在的根节点不能取消选中,这个bug怎么改,目前还没解决方案,本人是个菜鸟对js不是很懂,谁有好的解决方案请分享一下,感谢大家
success: function(result) { //获取list var list = result.list; //获取list的size var size = list.length; d = new dTree('d'); d.add(0, -1, ''); for (var i = 0; i < size; i++) { d.add(list[i].id, list[i].parentId, 'authority', list[i].id, list[i].name); } $("#permissionTree").html(d.toString()); d.closeAll(); }, error: function() { alert("目录查询异常"); }
dTree.prototype.checkPNode = function(pid,ischecked) { for (var n=0; n<this.aNodes.length; n++) { if (this.aNodes[n].pid!=-1&&this.aNodes[n].id == pid) { eval("document.all."+ this.aNodes[n].cname + "_" + this.aNodes[n].id + ".checked = " + ischecked); if (!this.isHaveBNode(this.aNodes[n].id, this.aNodes[n].pid)) { this.checkPNode(this.aNodes[n].pid,ischecked); } break; } } };
替换源码中的该方法。
很有用的资源!