artDialog實現子窗口向父元素傳遞數據

案例:在頁面A點擊按鈕,彈出artDialog窗口B,當關閉窗口B時,實現向父元素A傳遞數據。

一、方法一:

1、利用artdialog中的data方法進行傳值與接收值。

      在子窗口調用:artDialog.data('變量名',變量值) 進行傳值; 

      在父元素調用:art.dialog.data('變量名')  進行接收值; //可能需要在artDialog的close方法中

2、實例如下:

兩個頁面都要引入的js:

<script src="${base}/resource/artDialog/artDialog.source.js" type="text/javascript"></script>
<script src="${base}/resource/artDialog/iframeTools.source.js" type="text/javascript"></script>

窗口B中的js:

function commitSave() {
	var ajxxUuid = jQuery("#grid_ajxx").jqGrid('getGridParam','selrow');
	var nsrmc = $("#grid_ajxx").jqGrid('getCell',ajxxUuid,'xaAy.nsrmc');
	
	if(ajxxUuid) {
		artDialog.data("ajxxUuid", ajxxUuid); //將值存起來,供父頁面讀取
		artDialog.data("nsrmc", nsrmc);
		art.dialog.close();
	}else {
		showTopMsg("請選中一行再提交!", 4000, 'error');
		return false;
	}
}

頁面A中按鈕的js:

function chooseAj() {
	 url = "${base}/illegalInfo/ajxxList?oper=${oper}";	
     art.dialog.open(url, {
        id: 'ajxxList',
        title: '案件信息',
        width: 650,
        height: 460,
        left: '50%',
        top: '50%',
        background: '#000000',
        opacity: 0.1,
        lock: true,
        resize: false,
        close: function () { 
        	var ajxxUuid = art.dialog.data('ajxxUuid'); // 讀取子窗口返回的數據
        	var nsrmc = art.dialog.data('nsrmc'); // 讀取子窗口返回的數據          	  
            if (ajxxUuid !== undefined){
            	document.getElementById("ajxxUuid").value = ajxxUuid; //賦值到頁面A的input以顯示出來
            	document.getElementById("nsrmc").value = nsrmc;  
            } 
        }
    },
    false);

}

二、方法二

1、父元素與子窗口都調用同一個方法傳值

 子窗口   artDialog.opener.diliverDataToParent(chineseAddress, gis);  //diliverDataToParent爲方法名,chineseAddressgis爲兩個變量

 父元素    function diliverDataToParent(chinese, coordinate){ }


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章