手动关闭Jquery对话框窗口
我试图在单击按钮时手动关闭手动关闭Jquery对话框窗口,jquery,ajax,dialog,window,Jquery,Ajax,Dialog,Window,我试图在单击按钮时手动关闭Jquery对话框窗口,而不使用$('#id').Dialog('close')命令 原因是我在对话框窗口打开时调用了ajax,因此.dialog对响应不再起作用。我的问题是,我已经设法通过删除窗口本身和覆盖的div来手动关闭对话框窗口,但由于某些原因,背景窗体仍然处于禁用状态 尽管所有内容似乎都被删除了,但仍然无法单击按钮或表单字段,所以我想知道是否缺少了一些内容。有人知道Jquery还使用什么来禁用模式对话框窗口上的背景吗 更新 我尝试从HomeController
Jquery对话框窗口
,而不使用$('#id').Dialog('close')
命令
原因是我在对话框窗口打开时调用了ajax,因此.dialog对响应不再起作用。我的问题是,我已经设法通过删除窗口本身和覆盖的div来手动关闭对话框窗口,但由于某些原因,背景窗体仍然处于禁用状态
尽管所有内容似乎都被删除了,但仍然无法单击按钮或表单字段,所以我想知道是否缺少了一些内容。有人知道Jquery还使用什么来禁用模式对话框窗口上的背景吗
更新
我尝试从HomeController返回视图,试图在手动删除覆盖和窗口后以某种方式刷新页面。但是页面仍然被禁用,我还没有找到原因。为按钮分配一个单击功能
$("#button").click(function()
{
$("#id").dialog('close');
});
或
或者也许我不明白你的问题:)不确定这怎么行:
$("#modal").dialog({
autoOpen : false,
modal : true
});
// to open
$("#modal").dialog("open");
// to close
$("#modal").dialog("close");
根据您的描述,ajax调用似乎以某种方式修改了页面,从而更改了jQueryUI对话框所基于的div。调用div(或其他元素)上的
对话框
方法后,它实际上属于jQueryUI,在调用.dialog(“destroy”)
之前,不得触摸它。您必须:
$(“#id).dialog(“destroy”)
,然后在ajax调用完成后重新创建对话框window.parent.jQuery('#ModalDialog').dialog('destroy');
创建一个ajax调用和show dialog函数都驻留的作用域不是更容易吗?如何加载ajax?通常在调用后关闭应该可以工作…对于没有响应的表单,这可能是由于一些覆盖,不是吗?你能给我一个如何创建这样一个作用域的示例吗?我已经做过了这些。关闭函数在Ajax调用后不再工作,因为对话框窗口不再实例化。重新实例化对话框窗口会产生不希望出现的效果。请提供javascript代码(仅用于对话框的Ajax)以准确查看问题。
window.parent.jQuery('#ModalDialog').dialog('destroy');