我正在打开页面时显示一个对话框。但问题是当我点击对话框的其中一个按钮时,对话框窗口没有关闭。我不知道为什么。
这是我的代码:
$(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%>"/>
答案 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();
});