父子页面之间如何传值?关闭子页面之后数据回显到上一层页面上

<script>  //父页面A上注册Input这个function
	window.input = {
			data_role:{}, //用于存放子页面调用input时需要传递的data
			isSure:false  //用于判断是否点击确定按钮,可以忽略
	} 
</script>
$('#rname').click(function(){  //这里是父页面A的子页面B 这里给一个按钮注册一个点击事件,点击弹出一个iframe层,下面称为子页面C
            parent.layer.open({
                type : 2,//弹窗类型 ['dialog', 'page', 'iframe', 'loading', 'tips']
                area : [ '567px', '360px' ],
                shift : 2,//可选动画类型0-6
                scrollbar : false,
                title : false,
                closeBtn : false,
                content : "${ctp}/sys/user/address.html?pk_user="+pk_user+"&pk_corp="+pk_corp,
               	end:function(){ //结束回调,代表子页面C关闭之后会调用的回调函数
               		if(parent.input.isSure){
               			$("#rname").val(parent.input.data_role.data_name); //给一个input赋上子页面C传来的data值
               			data_pk = parent.input.data_role.data_pk; //这是子页面C传来的data值
               		}
               	}
            });
        })
/* 确定 */
	$('.sure').click(function(){   //这里是子页面B的子页面C
		parent.input = {  //调用它的父页面A的input这个function
			data_role:callbackdata(),  //把data传入父页面A中的data_role,这里cllbackdata()是我另外计算data的一个函数,可以忽略
			isSure:true //判断点击确定之后才进行数据回显,可以忽略
		}
		parent.layer.close(layerIndex); 
	})

这样一系列调用即可做到父子页面之间传值。

大致就是在父页面注册一个function

window.input = {
data_role:""
} 

然后在子页面再调用它

parent.input.data_role  
各个方式大同小异。



猜你喜欢

转载自blog.csdn.net/qq_41737716/article/details/80362409