我正在使用 cjuidialog 通过 ajax 链接弹出一个网络表单。第一次打开很好。但是在关闭后,我导航到另一个页面并再次进入此页面而没有重新加载整个页面,而是仅通过多个 ajax 请求重新加载 div,弹出窗口没有出现。请建议我解决方案。
问问题
296 次
1 回答
0
我认为问题在于每次发送 ajax 请求时,CJUIdialog 都会在内部创建带有弹出窗口的 s。因此,经过几次请求后,您就有了几个具有相同 ID 的弹出 div。我所做的我在每个 ajax 请求中删除了 CJUIDialog div 及其父级。像这样:
function remove_popup(){
if($("#popup1").length){
$("#popup1").remove();
if($("#popup1").parent().hasClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-draggable ui-resizable")){
$("#popup1").parent().remove();
}
}
}
重要的是包括:
Yii::app()->clientScript->scriptMap['jquery.js'] = false;
Yii::app()->clientScript->scriptMap['jquery-ui.min.js'] = false;
在乞求一个观点。(不在主视图中)
于 2014-09-11T16:14:57.460 回答