layer父页面调用子页面的方法

layer示例

由于不知道如何在子页面获取到layer定义的确定按钮,于是就在子页面上定义了一个方法,然后在由父页面在点确定按钮时调用子页面所定义的这个方法,从而执行子页面方法里面的内容:

子页面代码:

function test() {
  var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
  var ids= new Array();
  var i=0;
  $("input:checkbox[name='subBox']:checked").each(function() { // 遍历name=test的多选框
    ids[i++]=$(this).val();  // 每一个被选中项的值
  });
  return ids;
}

父页面通过调用这个test获取到这个方法中返回的ids

父页面代码:

layer.open({
  type: 2,
  title: '选择视频',
  area: ['800px' , '520px'],
  //fixed: false, //不固定  //maxmin: true,
  skin: 'layui-layer-rim', //加上边框  //shadeClose: true,
  content:'test.do',
  btn: ['确定', '取消'],
  yes: function(index, layero){
    var body = layer.getChildFrame('body', index);
    var iframeWin = window[layero.find('iframe')[0]['name']];//得到iframe页的窗口对象,执行iframe页的方法:
    var ids = iframeWin.test();//调用子页面的方法,得到子页面返回的ids
    $("#mediaPath").val(ids);
    layer.close(index);//需要手动关闭窗口
  }
});
原文地址:https://www.cnblogs.com/shuilangyizu/p/11003417.html