<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各个方式大同小异。