浏览 4668 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-11-18
环境:
easyui 1.2.4 jquery 1.6.2 chrome
问题:
做项目中使用到easyui中的dialog,发现他的cache属性即使设置为false仍然还是不会发起服务端请求。
排查原因:
网上搜了下,无果,但搜到一个帖子
Mark ,easyUi缓存问题是执行顺序,('#dialog').html(data)先,再实例化('#dialog').dialog,而juqery dialog不会破坏#dialog'标签,easyUI会破坏标签,所以存在缓存问题
但是实在看不懂如何解决.
在调试中发现,使用easyui的dialog事件后你的dialog控件会“不见”,也就是下面代码中的#yourDialog整个DOM节点不见,easyui帮你自动生成一个。可能就是这里出问题。
<div style="display:none"> <!-- 你的dialog控件--> <div id="#yourDialog" title="xxx"></div> </div>
解决方法:
不想修改源码,想了想,可以通过以下方法解决:
$('#yourDialog').dialog({ modal:true, iconCls:"icon-add", buttons:[{ text:'提交', iconCls:'icon-ok', handler:function(){ submitForm(appId, false); } },{ text:'关闭', handler:function(){ $('#yourDialog').dialog('close'); } }], onOpen:function(){ $('#createAppVersionDialog').dialog('refresh', 'yourUrl'); } });初始不提供href参数,监听onOpen事件,使用refresh参数使dialog读取服务端数据(refresh是panel的method)
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |