我正在使用cjuidialog通过ajax链接弹出一个webform。 第一次它打开很好。但是在关闭之后我导航到另一个页面并再次来到这个页面而不重新加载整个页面但只通过多个ajax请求重新加载div,弹出窗口不会出现。通常建议我解决问题。
答案 0 :(得分:0)
我认为问题在于每次发送ajax请求时CJUIdialog都会在内部创建弹出窗口。因此,在几个请求之后,您有几个具有相同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;
在一个观点的乞讨中。 (不在主视图中)