大哥大姐们,帮忙看下是什么问题:
树已经获得出来如:
大厦(父类)点击父类时展开A楼,B楼,c楼
然后我在收缩
这时我在去双击大厦的时候就会出现 A楼,B楼,c楼,A楼,B楼,c楼这样的情况
依次点击都会进行累加,很是奇怪,以下是我双击是触发的事件,我贴出来大家帮忙看看:
dhtmlXTreeObject.prototype.setOnDblClickHandler= function(func){
if(typeof(func)=="function")this.dblclickFuncHandler=func;else this.dblclickFuncHandler=eval(func);
};
页面上的function如下:
function loadxml(){
//treeOrganization_tree是下面div的id
tree = new dhtmlXTreeObject("treeOrganization_tree","100%","100%",0);
tree.setImagePath("<%=request.getContextPath()%>/images/tree/");
//tree加载的时侯就去调用tonclick方法
tree.setOnDblClickHandler(tonclick);
var myUrl="<%=request.getContextPath()%>/created.action";
$.ajax({
type: "POST",
url: myUrl,
data: "",
success: function(msg){
tree.loadXMLString(msg);
}
});
}
//上一个点击的子目录ID
var preChildId;
function tonclick(id){
//查询员工信息 jquery封装的一个ajax方法url ajax的回调函数success
//msg则是从服务器端返回的东西,第一次获得的是一组然后用,隔开
getEmp(id);
if(preChildId != id){
alert(preChildId+'test');
var myUrl="<%=request.getContextPath()%>/creatChild.action";
$.ajax({
type: "POST",
url: myUrl,
data: "id="+id,
success: function(msg){
if(msg!="" && msg!='undefined'){
var ss = msg.split(",");
if(ss == '0'){
return;
}
for(var i=0;i<ss.length;i++){
//获得第一组信息Id 和name用*隔开
var productType = ss[i].split("*");
var typeid = productType[0];
var typename = productType[1];
preChildId = typeid;
tree.moveItem();
//id,我要在这个节点下生成一个id和一个name 后面的四个0是图片的意思
tree.insertNewItem(id,typeid,typename,0,0,0,0,'SELECT');
}
}
}
}
);
}
}
这是insertNewItem
dhtmlXTreeObject.prototype.insertNewItem=function(parentId,itemId,itemText,itemActionHandler,image1,image2,image3,optionStr,childs){
var parentObject=this._globalIdStorageFind(parentId);
if(!parentObject)return(-1);
var nodez=this._attachChildNode(parentObject,itemId,itemText,itemActionHandler,image1,image2,image3,optionStr,childs);
if((!this.XMLloadingWarning)&&(this.childCalc))this._fixChildCountLabel(parentObject);
return nodez;
};
dhtmlXTreeObject.prototype.insertNewChild=function(parentId,itemId,itemText,itemActionHandler,image1,image2,image3,optionStr,childs){
return this.insertNewItem(parentId,itemId,itemText,itemActionHandler,image1,image2,image3,optionStr,childs);
}
[b]问题补充:[/b]
pJun我有按照你的操作去调用,确实是这样的,我想问下,那我要怎么做把以前的旧消息卸载掉在去加载新的消息的呢