JQuery ui dialog(close)无效的解决办法

作者:简简单单 2013-06-08

问题如下:
一开始我使用floatLayer.show弹出一个层并通过ajax加载一个窗体(下面用“窗体A”代替),在该窗体加载结束时,我将JQuery ui dialog在该窗体里初始化,并配置一些参数。
代码:

 代码如下 复制代码
$(function()
{
    //初始化参数
    $("#getcompany").dialog({ autoOpen: false, width: 760, height: $companyselectboxheight, closeOnEscape: false  });
}

此时,我调用打开:

 代码如下 复制代码

//打开
$("#getcompany").dialog('open');
或者关闭

//关闭
$("#getcompany").dialog('close');

一切正常。
但是,当我关闭窗体A,再调用上述的打开时是正常的,再关闭就不能关闭了。

最终的解决办法是,使对象$(“#getcompany”)变成全局的变量。
例如:

 代码如下 复制代码
$(function()
{
    //初始化参数
    GETCOMPANY = $("#getcompany");
    GETCOMPANY.dialog({ autoOpen: false, width: 760, height: $companyselectboxheight, closeOnEscape: false  });
}
//打开
GETCOMPANY .dialog('open');
//关闭
GETCOMPANY .dialog('close');

这样就没问题了。 ^_^
注意: GETCOMPANY 初始化时前不能加 var ,即不能写成 var GETCOMPANY = $(“#getcompany”);

相关文章

精彩推荐