easyUI dialog的close和destroy区别

之前在用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.csdn.net/maosijunzi/article/details/44160445

猜你喜欢

转载自blog.csdn.net/yb305/article/details/65630864