1. 程式人生 > >Jquery EasyUI Dialog close和destroy方法

Jquery EasyUI Dialog close和destroy方法

        在使用JQuery EasyUI做專案的時候,經常需要使用Dialog實現彈出框效果,但是在“檢視日常活動連結”的時候,有兩個模組呼叫的是同一個Dialog頁面,這個時候就出現頁面混亂情況,要麼就是Dialog內容無法開啟,其實這是Dialog的close和destroy用法的問題。

      解決辦法:  

      使用close的方法來關閉dialog時,此dialog並不是完全消失,只是隱藏起來了而已。當另外一個dialog和這個dialog相同時,就會發生混亂。所以我們不適用close的方法來關閉dialog,使用destroy來銷燬dialog,當使用destroy時,如果頁面上顯式定義了dialog的話,關閉後就永遠都打不開了。所以我們不顯式定義dialog,並且把連結頁面和列表頁面分開。

      示例如下:

//檢視活動細節
	 function viewActisDetailRow(index,obj){
	 
	  selectMagDeclActiCurRow(obj);
	  
	  var node = $('#magDeclActis').datagrid('getSelected'); 
	  
	  var teanName=node.decTeamName;
	  var userid=node.addUserId; //使用者編號
	  var year=node.year;        //申報年份
	  
	  $('<div></div>').dialog({    
					    title: teanName,    
					    width: 850,    
					    height: 550,    
					    closed: false,    
					    cache: false,    
					    href:'actiRecords/goShowTeamActiDetailsPage!goActiDetailPage?user.userid='+userid+'&year='+year, 
					    modal: true,
					    onClose:function(){
					    	$(this).dialog('destroy');
					    }
	  }); 
	}
     $('<div></div>').dialog動態建立Dialog,否則Dialog被destroy後,無法再開啟。