ZTREE异步加载,添加节点出错
ztree吧
全部回复
仅看楼主
level 4
树哥,ztree,在异步加载时,添加节点第一次添加的时候会出现显示两次,数据库中只有一条,添加节点的代码如下,需要刷新才能正常,但是添加完一次后,以后就不会出现这个问题了。还有为什么“失败1”总是弹出,某些地方写错了吗?ff中不能完全运行此段代码,不会报错,其它浏览器可以。先谢谢了。
function addHoverDom(treeId, treeNode) {
var sObj = $("#" + treeNode.tId + "_span");
if ($("#addBtn_"+treeNode.id).length>0) return;
var addStr = "<span class='button add' id='addBtn_" + treeNode.id
+ "' title='添加节点' onfocus='this.blur();'></span>";
sObj.append(addStr);
var btn = $("#addBtn_"+treeNode.id);
var topid=treeNode.id;
if (btn) btn.bind("click", function(){
var name=prompt("请输入新节点名称","");
if(name=='')//如果返回的有内容
{
alert("文件名不能为空");
}else{
var params = "pid=" + treeNode.id;
$.ajax({
url:'last.pid.php',
type:'Get',
dataType:'json',
data:params,
success:addnote,
});
function addnote(json){
var lastpid = json.lpid;
var zTree = $.fn.zTree.getZTreeObj("tree");
var params = "pid=" + lastpid + "&topid=" + topid +"&title=" + name;
$.ajax({
url:'new.node.php',
type:'POST',
dataType:'json',
data:params,
success:newnode,
error:alert('失败1')
});
function newnode(json){
var chk = json.chk;
if(chk){
zTree.addNodes(treeNode, {id:(lastpid), pId:treeNode.id, name:name});
}else{
alert('失败2');
}
}
}
}
});
};
function removeHoverDom(treeId, treeNode) {
$("#addBtn_"+treeNode.id).unbind().remove();
}; $(document).ready(function(){
$.fn.zTree.init($("#tree"), setting);
});
出现这样的情况
以后再次添加,就不会有错误了。为什么?
在火狐中,能出现这个对话框,但是不能添加,

2012年07月07日 07点07分 1
1