对话框未单击按钮关闭

时间:2014-04-29 18:18:57

标签: javascript jquery ajax jquery-ui

我正在打开页面时显示一个对话框。但问题是当我点击对话框的其中一个按钮时,对话框窗口没有关闭。我不知道为什么。

这是我的代码:

$(document).ready(function() {
    var x=$('#loginstatus').val();
    if(x==1){
        $("#dialog").html("Do You Want to go for Face Recognition and Detection?");
        $("#dialog").dialog({
            autoOpen: true,
            modal: true,
            title: "Permission for Face Recognition",
            width: 600,
            height: 300,
            resizable: false,
            buttons: { 
                "Yes,Why Not": function() {
                     $(this).dialog("close");
                     callback("1");
                 },
                 "No,Thanx": function() {
                     $(this).dialog("close");
                     callback("2");
                 }
            }
       });
    }
});

在html中我有对话框div和其他必要的输入。

Html

<div name="dialog" id="dialog"></div>
<input type="hidden" name="loginstatus" id="loginstatus" value="<%=firstlogin%>"/> 

3 个答案:

答案 0 :(得分:0)

测试一下,我在按钮上做了一些更改:

$(document).ready(function() {
                    var x=$('#loginstatus').val();
                    if(x==1){
                        $("#dialog").html("Do You Want to go for Face Recognition and Detection?");
                        $("#dialog").dialog({
                            autoOpen: true,
                            modal: true,
                            title: "Permission for Face Recognition",
                            width: 600,
                            height: 300,
                            resizable: false,
                            buttons: { 

                                "Yes,Why Not": function() {
                                callback("1");
                                $(this).dialog("close");


                            },
                            Cancel: function() {
                            callback("2");
                            $(this).dialog("close");

                            }

                            }

                    });
                    }
                    });

答案 1 :(得分:0)

尝试

$("#dialog").dialog('close');

而不是

$(this).dialog("close");

除非您完全确定范围,否则不建议使用this

答案 2 :(得分:-1)

$('#dialog').click(function() {
$('.dialog').hide();
});