easyui的Accordion组件,select事件刷新当前panel,重复请求的问题

gongxufan 2014-05-26 03:08:46
基本代码如下:

这段代码是当展开panel时候回调的onSelect事件,去请求一个新的页面装载进来。但我发现这个请求怎么都会调用两次。。。崩溃了,大神帮忙看看

NetworkTopology.prototype.selectPanel=function(b,templateid,moduleid)
{
//return;
var c=this,a=c.props;
if (!b || !moduleid) return;
var m=document.getElementById(moduleid);
if (m)
{
dd=m.datatype;
if (dd)
{
d=a[dd];
if (d)
{
var e=c.control.accordion('getPanel',b);
if (e)
{
var i=0;
for (i=0;i<d.length;i++)
{
if (b==d[i]["title"])
{
e.panel("refresh",context + "topology_loadTopologyXML");
break;
}
}
}
}
}
}
};


另外补充一点,当我创建的时候调用refesh却只发了一次请求,代码如下:

NetworkTopology.prototype.createNewPanels=function(b,templateid,moduleid)
{
var c=this,a=c.props,d=a[b];
if (d)
{
this.clearOldPanels(b);
var i=0;
for (i=0;i<d.length;i++)
{
c.control.accordion('add', {
title : d[i]["title"],
content : "",
selected : false,
method : "post",
href : "",
loadingMessage : "loading..."
});
var e=c.control.accordion('getPanel',d[i]["title"]);
e.panel("refresh",d[i]["url"]+"?templateid="+templateid+"&moduleid="+moduleid);
}

}
};

e.panel("refresh",...)同样调用这个,只是一个在onSlect事件,一个在add之后调用,这中间有什么区别。
...全文
181 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
gongxufan 2014-05-26
  • 打赏
  • 举报
回复
求easyui大神教育

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧