之前在用easyUI的时候遇到一个问题,一直困扰着我。
问题:
使用dialog来实现保存和编辑框,使用dialog.(“close”)来关闭dialog框,这个时候如果有两个页面的保存页面的表单的字段相同时,这两个表单的东西就会混乱。要不就是保存时打不开,要不就是编辑页面打开数据初始化不了。
解决思路:
使用close的方法来关闭dialog时,此dialog并不是完全消失,只是隐藏起来了而已。当另外一个dialog和这个dialog相同时,就会发生混乱。所以我们不适用close的方法来关闭dialog,使用destroy来销毁dialog,当使用destroy时,如果页面上显式定义了dialog的话,关闭后就永远都打不开了。所以我们不显式定义dialog,并且把保存页面和列表页面分开。
解决代码如下:
js代码片段:
$('<div></div>').dialog({
id : 'newDialog',
title : 'My Dialog',
width : 800,
height : 600,
closed : false,
cache : false,
href : '${path}/view/gmtool/resource_save.jsp',
modal : true,
onLoad : function() {
//初始化表单数据
},
onClose : function() {
$(this).dialog('destroy');
},
buttons : [ {
text : 'OK',
iconCls : 'icon-ok',
handler : function() {
//提交表单
}
}, {
text : 'CANCEL',
iconCls : 'icon-cancel',
handler : function() {
$("#newDialog").dialog('destroy');
}
} ],
});
转自:http://blog.youkuaiyun.com/maosijunzi/article/details/44160445