Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 对话框打开事件未能触发_Jquery_Jquery Ui - Fatal编程技术网

Jquery 对话框打开事件未能触发

Jquery 对话框打开事件未能触发,jquery,jquery-ui,Jquery,Jquery Ui,对话框以正确的标题和文本打开,当对话框关闭时,成功调用clrflds()函数。但是,当对话框打开时,永远不会调用dialog_close()函数。我已经尝试了我在网上能找到的一切来解决这个问题,但我仍然有这个问题。提前感谢您在这方面的帮助 var returned = data; if (returned == 0) {

对话框以正确的标题和文本打开,当对话框关闭时,成功调用clrflds()函数。但是,当对话框打开时,永远不会调用dialog_close()函数。我已经尝试了我在网上能找到的一切来解决这个问题,但我仍然有这个问题。提前感谢您在这方面的帮助

                            var returned = data;
                            if (returned == 0) {
                                $("#dialog_text").text("Login Failed"); 
                                $("#dialog_login").dialog({autoOpen: false});
                                $("#dialog_login").dialog({
                                                    title: "Login Status",
                                                    open: function(){
                                                        dialog_close()
                                                        },
                                                    close: function(){
                                                        clrflds()
                                                        }
                                                    });                                                                 
                                $("#dialog_login").dialog("open");                  
                                //alert('Failed');;         
                            }
                            else if (returned == 1) {
                                $('#login').load('m_insp_grid.html');
                            }                               
                        }
            },
        error: function(xhr, status, error){
            alert(error);
        }
    }); 
} 

function dialog_close(){
    setTimeout(function(){$("#dialog_login").dialog("close");}, 3000);
    }

function clrflds(){
    $("#dept_id").val("");
    $("#username").val("");
    $("#pwd").val("");
}

这是因为您处于另一个上下文中,因为函数(){…}

我想,如果您编写一个console.log或alert而不是dialog_close();是的,我会打电话给你,对吗

试着写:

open: () => {
    dialog_close()
},


另请参见此处:

感谢您的回复。实际上,这两种方法都不起作用。这是一件令人困惑的事情,因为函数clrflds()在对话框关闭时被调用,其语法与函数dialog_close()相同,即函数(){dialog.close()}
var that = this;
open: function() {
    that.dialog_close()
}