问题:无法关闭模式对话框
我有以下代码,它适用于我,对话框已打开。
$("#invitation-form").dialog({
autoOpen: true,
height: 300,
width: 600,
modal: true,
title: 'Send Invitation',
open: function() {
$("#invitation-form").html("<%= escape_javascript(render('invitation_form.html')) %>")
}
});
在邀请表单中,用户点击“发送”按钮后, 它将在控制器中触发和运行,它是和ajax调用,因为我设置:remote =&gt;真
我尝试执行以下操作
$("#invitation-form").dialog("close")
对话框不会关闭。
我把并发出警告消息来测试它,它通过代码运行,我可以看到警报消息。
任何人都可以帮助我,我该如何关闭对话框?
由于
答案 0 :(得分:0)
您应该尝试将对话框设置为autoOpen
:
$("#invitation-form").dialog({
autoOpen: false,
height: 300,
width: 600,
modal: true,
title: 'Send Invitation',
open: function() {
$("#invitation-form").html("<%= escape_javascript(render('invitation_form.html')) %>")
}
});
然后,您可以根据需要在页面加载时调用open
,并在需要时随时调用close
:
$("#invitation-form").dialog("open");
$("#invitation-form").dialog("close");
答案 1 :(得分:0)
您是否尝试过将ajax功能置于关闭状态?
$( "#invitation-form" ).dialog({
close: function() { Ajax stuff here }
});
否则,请尝试设置“发送”按钮:
//getter
var buttons = $( ".selector" ).dialog( "option", "buttons" );
//setter
$( ".selector" ).dialog( "option", "buttons", { "Ok": function() { $(this).dialog("close"); } } );
答案 2 :(得分:0)
同时检查加载文件中未包含的jquery-ui和jquery.js。 如果加载两次,它将在对话框关闭方法中停止工作。