layui之弹出层关闭和刷新问题


本文摘自PHP中文网,作者尚,侵删。

layui框架是一款采用自身模块规范编写的前端UI框架,遵循原生HTML/CSS/JS的书写与组织形式,本文我们就来看一下layui框架中关于弹出层关闭和刷新的问题。

描述:

主页面,弹出第一个弹框,第一个弹框中在弹出第二个弹框,如图:

1.jpg

1是主页面,2是子弹窗,3是孙弹窗

功能一:好了,第一个我要实现的功能是点击弹窗3的确定之后关闭弹窗3

上js代码,先贴出如何在主页面1中弹出弹窗2的代码:

1

2

3

4

5

6

7

8

9

10

11

12

//弹窗2(代码写在主页面1)

function edit() {

 

var index = layer.open({//占坑!!!

            type : 2,

            title : "预算目标编辑",

            content : "/xx/xx/xx/edit?year=" + year

                    + "&departmentCode=" + departmentCode,

            area : [ "90%", "90%" ],

        });

 

}

接着贴出如何在弹窗2中弹出弹窗3的:

1

2

3

4

5

6

7

8

9

10

11

//弹窗3(js代码写在弹窗2中)

 

function configuration(){

    parent.layer.open({//占坑!

        type: 2,

        title: "配置项目",

        content: "/xx/xx/xx/xx?budgetMainCode="+budgetMainCode,

        area: ["80%", "80%"],

        end: function () {//点睛之笔,此端代码便是精髓之处,layui监听到弹窗3的销毁之后回调了一个end函数,通过这个end函数我们就能刷新弹窗2的数据

            refreshTable()//就比如这refreshTable()是弹窗2里面的用于拼接数据列表的函数

} }); }

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

//确定(代码写在弹窗3中)

//弹窗3中的js代码,就是最上面那个图中的确定按钮的函数

 

function comfirm(){

     //获取checkbox[name='check']的值

     var arr = new Array();

     $("input:checkbox[name='check']:checked").each(function(i){

           arr[i] = $(this).val();

     });  

    $.ajax({

        type: "post",

        dataType: 'json',

        url: "/xx/xx/xx/checkChoise?budgetMainCode="+budgetMainCode,

        contentType: 'application/json',

        data: JSON.stringify(arr),

        success: function (result) {//点击确定按钮之后,后台业务代码出来成功之后的回调

            if (result.status == 0) {

                parent.layer.close(parent.layer.index);//根据前面怎么弹出弹窗来选择索引去关闭弹窗,比如前面弹窗3是通过parent.layer.open弹出来的,

                                    那么我就获取它的索引,并将它关闭,占坑!!!

            }

            if (result.message != null) {

                layer.msg(result.message)

            }

        },

        error: function (XMLHttpRequest, textStatus, errorThrown) {

            layer.msg('{"status":"' + XMLHttpRequest.status + '","readyState":"' + XMLHttpRequest.readyState + '","textStatus":"' + textStatus + '","errorThrown":"' + errorThrown + '"}')

        }

    })

}

功能二:

阅读剩余部分

相关阅读 >>

layui时间控件闪退的问题介绍

layui的分页怎么用

layui框架常用输入框介绍

layui框架的table字段筛选功能介绍

layui怎么对弹出层显示数据

layui框架是免费的吗

怎么将layui引入开发框架中

为laydate输入框加上图标的方法(附代码)

layui input只读属性是什么

在vue中怎么使用layui

更多相关阅读请进入《layui》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...