artDialog实现子窗口向父元素传递数据

文章介绍了两种方式实现artDialog弹出窗口向其父页面传递数据。方法一是通过artDialog的data方法,子窗口调用data方法传值,父元素在close方法中接收;方法二是子窗口直接调用父元素定义的方法传递变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

案例:在页面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){ }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值