layui关于layer.open父子窗口之间的值传递问题

父页面向子页面传值

//  父页面js
var queryEmp=getEmps();
var queryItem=getItems();
var queryProduct=getProducts();	
layui.use(['element','form','layer','table','laydate'],function(){
		var $ = layui.jquery,
	    form = layui.form,
	    layer = layui.layer,
		$("#addPayment").click(function(){
			var paymentUrl='addPayment.jsp';
			layer.open({
				type:2,
				title:"添加收银",
				area:['68%','75%'],
				content:paymentUrl,
		//			btn:['返回列表'],
					success:function(layero,index){
						// 获取子页面的iframe
		                var iframe = window['layui-layer-iframe' + index];
		                // 向子页面的全局函数child传参
		                iframe.child(queryEmp,queryItem,queryProduct);
					},
					yes:function(index,layero){
					//父页面调用子页面的函数获取返回值
    				var payment = $(layero).find("iframe")[0].contentWindow.getItemPro();
					},
					cancel:function(index,layero){
						table.reload("content_table",function(){});
						layer.close(index);
					}
				});
			});
	});
//子页面js
//获取员工  项目  产品信息
var getEmp=[];
var getItem=[];
var getProduct=[];
//接收父页面传过来的全局参数
function child(queryEmp,queryItem,queryProduct){
	getEmp = queryEmp;
	getItem = queryItem;
	getProduct = queryProduct;
}

父页面获取子页面的表单数据

   $("#addItem").click(function(){
   	var itemUrl='itemAdd.jsp';
	layer.open({
		title:'添加项目',
		type:2,
		area:['40%','80%'],
		offset: 't',
		content:itemUrl,
		btn: ['保存', '取消'],
		success:function(layero,index){
			// 获取子页面的iframe
               var iframe = window['layui-layer-iframe' + index];
               // 向子页面的全局函数selectEmp传参
               iframe.edit(getEmps(),getItems());
		},
		yes:function(index,layero){
			//layer自带getChildFrame可根据子页面的表单ID获取子页面form
			var newsForm = layer.getChildFrame('#ItemAddForm', index);
			var dataForm = newsForm.serialize();
			dataForm = decodeURIComponent(dataForm,true);//添加的表单数据
			var dataBank = backups('show_item',dataForm);//新添加的表格数据
			console.log("我是添加项目页面的表单数据就:");
			console.log(dataBank);
		}
		});

父页面触发子页面方法

layer.open({
	type:2,
	title:title,
	area:['100%','100%'],
	content:url,
	success:function(layero,index){
        var body = layer.getChildFrame('body', index);
        var iframe = window['layui-layer-iframe' + index];
        iframe.isChild(relationId,getEmp);
        //打开窗口触发子页面失去焦点事件
        body.find("#relationId").blur();
	},
	cancel: function(index, layero){ 
		location.reload();
	    layer.close(index);
	} 
});
//子页面 js
function isChild(getRelationId,getEmp){
	queryVipInfo(getRelationId);
}
//搜索
$("#relationId").on('blur', function () {
	var relationId = $("#relationId").val();
	queryVipInfo(relationId);
});
function queryVipInfo(relationId){
	$.ajax({
       	url:basePath+"/vipCardController/queryVipInfo",
		type:"post",
		data:{"relationId":relationId},
		dataType:"JSON",
		success:function(msg){
			//dosomething
		}
      });
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值