我正在尝试在不使用Jquery Dialog window
命令的情况下手动关闭按钮上的$('#id').dialog('close')
。
原因是我在打开对话框窗口时进行了ajax调用,因此.dialog不再适用于响应。我的问题是我已经设法通过删除窗口本身和叠加层的div来手动关闭对话窗口,但由于某种原因,背景窗体仍然保持禁用状态。
即使一切似乎都被删除了,仍然无法点击按钮或表单字段,所以我想知道我是否遗漏了一些内容。有谁知道Jquery在模态对话框窗口中使用什么来禁用背景?
更新 我尝试从HomeController返回视图,以便在手动删除叠加层和窗口后以某种方式刷新页面。该页面仍然被禁用,我还没有找到原因。
答案 0 :(得分:1)
根据您的描述,听起来像ajax调用正在以某种方式修改页面,这会更改jQueryUI对话框所基于的div。在div(或其他元素)上调用dialog
方法后,它实际上属于jQueryUI,并且在调用.dialog("destroy")
之后才能触摸它。你必须:
确保ajax调用的结果或
在修改div之前 之前,调用$("#id).dialog("destroy");
然后在ajax调用完成之后重新创建对话框。
答案 1 :(得分:1)
试试这个:
window.parent.jQuery('#ModalDialog').dialog('destroy');
答案 2 :(得分:0)
将按钮功能分配给按钮
$("#button").click(function()
{
$("#id").dialog('close');
});
或
$( ".selector" ).bind( "dialogclose", function(event, ui) {
...
});
或者我不明白你的问题:)
答案 3 :(得分:0)
不确定这不起作用:
$("#modal").dialog({
autoOpen : false,
modal : true
});
// to open
$("#modal").dialog("open");
// to close
$("#modal").dialog("close");