错误:在初始化之前无法调用对话框上的方法;试图在对话框中调用方法'destroy'

时间:2015-11-10 17:16:12

标签: jquery

当我尝试在我的系统上显示一个窗口时出现以下错误,问题是更新了jquery的版本。

但在主菜单

下面显示“销毁”模式窗口的行
 * USER DATA VIEW MENU log  *
 ********************************************************/
$("#verDatos").click(function() {
    $.post("../controlador/Acceso/controlUsuario.php?opc=2", function(data)
    {
        if (data.error == 0)
        {
            $.post(data.vista, function(datos)
            {
                $("#infoMsj").dialog("destroy");
                $("#infoMsj").dialog({
                    title: data.title,
                    resizable: false,
                    bgiframe: true,
                    autoOpen: true,
                    modal: true,
                    width: 'auto',
                    dialogClass: "hide-close",

                    buttons:
                            {
                                "Aceptar": function() {
                                    $(this).dialog('close');
                                }
                            }
                }).html(datos);
            });
        }
    }, "json");
});

1 个答案:

答案 0 :(得分:1)

您可以通过检查其数据来检查是否初始化了jQuery小部件:

jQuery UI 1.9及更高版本:

if ($("#infoMsj").data("ui-dialog")) {
    $("#infoMsj").dialog("destroy");
}

Pre 1.9:

if ($("#infoMsj").data("dialog")) {
    $("#infoMsj").dialog("destroy");
}

您看到该错误的原因是因为infoMsj尚未初始化对话框窗口小部件并且您正尝试在其上调用对话框函数destroy