我想使用 JQuery UI Dialog 小部件在我的页面上显示一个弹出屏幕。
为了实现这一点,我有一个 <div class="popup-placeholder">
在我的页面上。实际上页面上不止一个(如果这对解决方案有影响)
单击按钮时,我正在初始化对话框并“打开”它。弹出窗口的初始化在 Action 点击内部,因为它应该进行 Ajax 调用以获取弹出窗口的内容。 (我尝试从点击事件中取出初始化,但没有成功 $('div.popup-placeholder').dialog();
)
var popupContext = $('#' + contextControl.id + ' > .popup-placeholder');
popupContext.html(formHtml);
$(popupContext).dialog({
bgiframe: true,
modal: true,
autoOpen: false,
closeOnEscape: false,
dialogClass: '',
draggable: true,
position: 'center',
resizable: false,
width: 600
});
单击操作按钮时,表单会显示并执行应有的操作。
现在,我在弹出窗口上有一个关闭链接,它不是对话框按钮,而只是另一个绑定(bind)了事件的链接。
它这样做...
$('#popup-placeholder-61').dialog('close');
其中 #popup-placeholder-61 与 $(popupContext) 相同
我现在面临的问题是,在关闭弹出窗口时,相同的操作按钮不会再次显示弹出窗口。问题似乎是
<div class="popup-placeholder">
已从标记中删除。我尝试了下一页上的解决方案,但没有帮助 -
Jquery Dialog Close on StackOverflow
所以,我需要更多帮助
最佳答案
经过一番挣扎,我想出了一个最佳解决方案。请使用下面的行而不是 dialog('close')
$('#popup-placeholder-61').dialog("destroy");
这将允许 div 保持其位置
关于jquery-ui - jQuery UI 对话框问题 : Close removes the div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2250910/