Layui 主窗口调用 iframe 弹出框模块,获取控件的相应值

Layui 主窗口调用 iframe 弹出框模块,获取控件的相应值

前言

最新使用layui,开发一个新的系统,layui界面美观,控件相对齐全,以前一直使用easyui来进行后台管理系统的开发,easyui的控件之强大只有使用过的人才知道。换layui后碰到N多问题,在这里记录一下,也提供给跟我一样碰到问题的小伙伴们,大家一起进步。

table组件

用过easyui的小伙伴门都知道,datagrid的控件功能非常强大。而layui的table控件只能说能满足基本需求。

table.render({
        elem: '#role_list',
        url: '这里为json接口', //模拟接口
        cols: [[
            {type: 'checkbox', fixed: 'left'},
            {field: 'id', width: 60, title: 'ID', sort: true},
            {field: 'code', title: '帐号', minWidth: 100},
            {field: 'name', title: '角色名', minWidth: 100},
            {field: 'createtime', title: '创建时间', width: 120},
            {field: 'state', title: '状态', width: 60},
            {title: '操作', width: 200, align: 'center', fixed: 'right', toolbar: '#role_list_handle'}
        ]],
        page: {layout: ['count', 'prev', 'page', 'next', 'limit', 'refresh']},
        autoSort:true,
        limit: 30,
        height: 'full-105',
        text: {none: '暂无相关数据'}
    });

以上,需要注意的是:

  1. 在数据源没有数据的时候,提示,“暂无相关数据”,应该这个写text: {none: '暂无相关数据'}。官网的demo例子是错的。
  2. 排序这里,需要添加一个监听,它没办法根据你的url直接传给后台,重新readload。

使用open弹框时,iframe模式下,主窗与iframe窗口模块相互调用问题

在开发过程使用弹框的地方非常多,有很多时候经常会碰到,主窗的open一个弹出框后,保存时,需要去获取弹框里面的内容,如form,tree等模块数据调用,官网的例子给出来form的调用,这里就不再描述。我们有使用的过程中碰到在主窗要调用iframe的模块时,应当先获取其windows,再进行调用。

var iframeWindow = window['layui-layer-iframe' + index];
iframeWindow.layui.tree............(这里就可以操作tree里面的内容了)。

需要注意的是,在网上有很多使用

var chrild = layero.find('iframe').contents();
chrild.layui.tree (这样是调用不到的)。

同样,使用内置方法

var child = layer.getChildFrame();
child.layui.tree(这样是调用不到的)。

在iframe中调用上层窗口的模块就简单很多。直接

parent.layui.模块.方法;
//如刷新上层的表格
parent.layui.table.reload('id');

附注

目前碰到的问题,还在摸索当中,后续有使用上的问题,会标注更新,如有错误的地方,或更好的方法望留言指正,为感!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Layui 是一款基于 jQuery 的简单、易用、轻量级的前端UI架,它提供了丰富的UI组件和工具,方便我们进行页面的搭建和交互设计。如果我们想要获取 Layui 弹出中的确定按钮对象,可以通过以下步骤实现: 1. 引入 Layui 的相关文件:在 HTML 页面中引入 Layui 的 CSS 和 JS 文件,确保 Layui 的相关资源能够被正常加载和运行。 2. 创建弹出:使用 Layui弹出组件,通过调用 `layer.open()` 方法来创建一个弹出,并设置相应的参数。 3. 获取确定按钮对象:在弹出创建成功后,我们可以通过查看弹出的 HTML 结构来定位确定按钮所在的元素位置。可以使用浏览器的开发者工具来查看或者通过 JavaScript 的 `console.log()` 打印出弹出的 HTML 结构。 4. 使用 JavaScript 获取确定按钮对象:一旦我们确定了确定按钮所在的元素位置,就可以使用 JavaScript 的 DOM 操作来获取确定按钮对象。可以通过元素的 ID、类名或标签名等方式来获取元素对象,例如使用 `document.getElementById()`、`document.getElementsByClassName()` 或 `document.getElementsByTagName()` 等方法,根据实际情况进行选择。 5. 进行操作:获取到确定按钮对象后,我们就可以对按钮进行一些操作,如添加点击事件监听器、修改按钮的文本样式等。 需要注意的是,以上步骤是一个大致的流程,具体实现可能会根据具体情况有所不同。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值