Layui学习笔记--layer弹出层父子页面互相获取


父页面对子页面操作 ?

layer.open({
	type: 2,
	title:'请选择要发出的发货单',
	area: ['90%', '99%'],
	fixed: false, //不固定
	maxmin: true,
	content: 'tbMiddis/opendispatch.welcome',
	btn:['我已选好','取消'],
	yes:function(layero,index){
	var openPage = window[index.find('iframe')[0]['name']];//获得弹出页面
	var value = openPage.selectValue();
	if(value == null){
	    layer.msg('您没有选择任何发货单',{icon:5});
	}else{
	    layer.msg(value);
	 }
	}
	});

此段代码是在父页面 ,content指定 弹出的页面地址 ,

var openPage = window[index.find('iframe')[0]['name']];//获得弹出页面

openPage.selectValue();//执行子页面的函数。


在子页面怎样对父页面进行操作呢

$("#go").click(function(){
		var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
		var $checkboxElts = $("#content input[type='checkbox']:checked");
		if ($checkboxElts.length == 0) {
			layui.use('layer',function () {
				layer.open({
					title:'提示',
					content:'请勾选一条单据'
				});
				});
		} else if ($checkboxElts.length > 1) {
			layui.use('layer',function () {
				layer.open({
					title:'提示',
					content:'抱歉,您选择了多条单据!'
				});
				});
		} else {
			var payid = $checkboxElts.val();
			$.ajax({
				url:'edit',
				data:{'payid':payid},
				dataType:'json',
				success:function(data){
					parent.layer.close(index);
					parent.$("#a_payid").val(data.payid);
					parent.$("#a_operater").val(data.operater);
					parent.$("#a_proName").val(data.proName);
					parent.$("#a_codeName").val(data.codeName);
					parent.$("#a_sum").val(data.sum);
					parent.$("#a_company").val(data.companyName);
					parent.$("#a_team").val(data.teamName);
					parent.$("#a_payee").val(data.payee);
					parent.$("#a_remark").val(data.remark);
					parent.$("#a_department").val(data.departmentId);
					parent.$("#a_type").val(data.type);
					parent.$("#caretes").modal("show");
				}
			})
			
		}
	});

这是子页面中的代码,红色部分即与父页面操作相关,

var index = parent.layer.getFrameIndex(window.name); //获取当前窗口索引

此句则实现 获得当前弹出层的窗口索引,即本页面索引。

对父页面操作,采用parent. *** 的方式即可赋值 等操作

猜你喜欢

转载自blog.csdn.net/ZaberyJava/article/details/80425138