layui框架中layer父子页面交互的方法分析


Posted in Javascript onNovember 15, 2017

本文实例讲述了layui框架中layer父子页面交互的方法。分享给大家供大家参考,具体如下:

layer是一款近年来备受青睐的web弹层组件,官网地址是:http://layer.layui.com/

可以从官网上下载最新版本。

还可点击此处本站下载

当layer以iframe层的方式弹出新的窗口(子页面),如何在子页面中访问父页面的元素和函数。

1、访问父页面元素值

var parentId=parent.$("#id").val();//访问父页面元素值

2、访问父页面方法

var parentMethodValue=parent.getMethodValue();//访问父页面方法

3、如何关闭弹出的子页面窗口

var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
parent.layer.close(index);//关闭弹出的子页面窗口

4、如何从子页面执行刷新父页面操作

parent.location.reload(); // 父页面刷新

附:layer弹出多个iframe找到父页面的方法

父页面:

function aa(){
    var index = parent.layer.getFrameIndex(window.name);
    var iframeName = 'layui-layer-iframe'+index;
    openDialog1('选择XXX', '${ctx}/*****,'800px', '500px',iframeName);
}
function openDialog1(title,url,width,height,target){
    top.layer.open({
      type: 2,
      area: [width, height],
      title: title,
      maxmin: true, //开启最大化最小化按钮
      content: url ,
      btn: ['确定', '关闭'],
      yes: function(index, layero){
         var body = top.layer.getChildFrame('body', index);
         var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
         var inputForm = body.find('#inputForm');
         var top_iframe;
         if(target){
           top_iframe = target;//如果指定了iframe,则在改frame中跳转
         }else{
           top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
         }
         inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
         if(iframeWin.contentWindow.doSubmit(top_iframe) ){
           top.layer.close(index);//关闭对话框。
           top.window[iframeName].frames.location.reload();//刷新父亲
         }
     },
     cancel: function(index){
      }
  });
}
//子页面回调方法
function addRecord(name,chainName){
  alert(name);
}

子页面

function doSubmit(iframeName) {
    var sel=$("tbody tr td input.i-checks:checked");
    var size = sel.size();
    if(size==0){
      top.layer.alert('请至少选择一条数据!', {icon: 0, title:'警告'});
      return false;
    }else{
      for(var i=0;i<size;i++){
        top.window[iframeName].addRecord(sel[i].name,sel[i].value);
      }
      return true;
    }
}

另:layui完整源码可点击此处本站下载

希望本文所述对大家基于layui框架的程序设计有所帮助。

Javascript 相关文章推荐
ExtJS Store的数据访问与更新问题
Apr 28 Javascript
jQuery实现的原图对比窗帘效果
Jun 15 Javascript
jQuery实现页面内锚点平滑跳转特效的方法总结
May 11 Javascript
基于jquery实现动态竖向柱状条特效
Feb 12 Javascript
PHP+jquery+ajax实现分页
Dec 09 Javascript
jquery,js简单实现类似Angular.js双向绑定
Jan 13 Javascript
利用node.js搭建简单web服务器的方法教程
Feb 20 Javascript
详解使用grunt完成requirejs的合并压缩和js文件的版本控制
Mar 02 Javascript
函数式编程入门实践(一)
Apr 20 Javascript
微信小程序中使用 async/await的方法实例分析
May 06 Javascript
小程序自动化测试的示例代码
Aug 11 Javascript
微信小程序实现页面监听自定义组件的触发事件
Nov 01 Javascript
layer实现关闭弹出层刷新父界面功能详解
Nov 15 #Javascript
layui.js实现的表单验证功能示例
Nov 15 #Javascript
javascript函数的节流[throttle]与防抖[debounce]
Nov 15 #Javascript
基于jQuery实现定位导航位置效果
Nov 15 #jQuery
详解如何使用PM2将Node.js的集群变得更加容易
Nov 15 #Javascript
vuejs实现本地数据的筛选分页功能思路详解
Nov 15 #Javascript
Js判断H5上下滑动方向及滑动到顶部和底部判断的示例代码
Nov 15 #Javascript
You might like
PHP把JPEG图片转换成Progressive JPEG的方法
2014/06/30 PHP
如何判断php mysqli扩展类是否开启
2016/12/24 PHP
php命令行写shell实例详解
2018/07/19 PHP
javascript中的作用域scope介绍
2010/12/28 Javascript
IE6/7 and IE8/9/10(IE7模式)依次隐藏具有absolute或relative的父元素和子元素后再显示父元素
2011/07/31 Javascript
在Ubuntu上安装最新版本的Node.js
2014/07/14 Javascript
angularJS结合canvas画图例子
2015/02/09 Javascript
JQuery遍历DOM节点的方法
2015/06/11 Javascript
JS+CSS实现的经典圆角下拉菜单效果代码
2015/10/21 Javascript
javascript回到顶部特效
2016/07/30 Javascript
移动端js触摸事件详解
2016/09/18 Javascript
MUI 上拉刷新/下拉加载功能实例代码
2017/04/13 Javascript
javascript修改浏览器title方法 JS动态修改浏览器标题
2017/11/30 Javascript
vue.js根据代码运行环境选择baseurl的方法
2018/02/28 Javascript
vue-router重定向不刷新问题的解决
2018/06/25 Javascript
解决layui 复选框等内置控件不显示的问题
2018/08/14 Javascript
Vue 实时监听窗口变化 windowresize的两种方法
2018/11/06 Javascript
浅谈Vue.js中如何实现自定义下拉菜单指令
2019/01/06 Javascript
webgl实现物体描边效果的方法介绍
2019/11/27 Javascript
微信小程序 this.triggerEvent()的具体使用
2019/12/10 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
vue3为什么要用proxy替代defineProperty
2020/10/19 Javascript
[53:10]完美世界DOTA2联赛决赛日 FTD vs GXR 第二场 11.08
2020/11/11 DOTA
python删除过期log文件操作实例解析
2018/01/31 Python
python 获得任意路径下的文件及其根目录的方法
2019/02/16 Python
Python中如何使用if语句处理列表实例代码
2019/02/24 Python
使用Python快乐学数学Github万星神器Manim简介
2019/08/07 Python
Python实现井字棋小游戏
2020/03/09 Python
Python代码需要缩进吗
2020/07/01 Python
使用canvas压缩图片大小的方法示例
2019/08/02 HTML / CSS
装修致歉信
2014/01/15 职场文书
说明书范文
2014/05/07 职场文书
资助贫困学生倡议书
2014/05/16 职场文书
党校党性分析材料
2014/12/19 职场文书
描写九月优美句子(39条)
2019/09/11 职场文书
Java中使用Filter过滤器的方法
2021/06/28 Java/Android