工学1号馆

home

使用layer.open时content属性传值记录

Wu Yudong    August 15, 2019     ThinkPHP   3,160   

layer.open主要是用来弹出来一个iframe弹窗,然后用来展示数据也行,用来修改也行,这次记录的主要是展示,展示我想要展示的数据

第一种方法,很简单,我想要看一个已经存在的页面,比如说百度,或者项目中某个页面 直接写地址

layer.open({
      type: 2,
      title: '很多时候,我们想最大化看,比如像这个页面。',
      shadeClose: true,
      shade: false,
      maxmin: true, //开启最大化最小化按钮
      area: ['893px', '600px'],
      content: 'http://fly.layui.com/'
    });
-----------------------------------------------------------------------
layer.open({
      type: 2,
      title: '用户信息。',
      shadeClose: true,
      shade: false,
      maxmin: true, //开启最大化最小化按钮
      area: ['893px', '600px'],
      content: '/test/user/info' + uid
    });

后面的uid可能是你需要传递的某些参数之类的…具体的根据你controller来定

第二种方法,将需要的内容写到页面上,然后在使用的时候调用

服务端页面

<div id='info' style = "display : none">
        我是内容
</div>

然后在js里面调用

layer.open({
           type: 1,
           title: '账户信息详情',
           shadeClose: true,
           shade: false,
           maxmin: true, //开启最大化最小化按钮
           area: ['893px', '600px'],
           content: $("#info").html()
});

第三种方法,直接在js里面拼接

var html = "<div class='wrapper' id='detailsinfo'>" +
           "<div class='detailsdiv'>" +
           "<p><label>帐号:</label>" + '测试帐号' +"</p>" +
           "</div></div>"
                            
layer.open({
    type: 1,
    title: '账户信息详情',
    shadeClose: true,
    shade: false,
    maxmin: true, //开启最大化最小化按钮
    area: ['893px', '600px'],
    content: html
});

今天在项目中使用的场景如下:

需要在一个页面通过open打开另一个页面html,代码如下:

        layer.open({
            type: 2,
            title: '支付选择',
            closeBtn: 1,
            shadeClose: true,
            area:['400px'],
            content: ['/home/article/pay','no'],
            success: function(layero, index) {

这里的/home/article/pay是article控制器中的方法,这里需要注意的是需要在view中新建一个名为pay.html的页面,里面的一些模板变量在pay方法中获得即可

如果文章对您有帮助,欢迎点击下方按钮打赏作者

Comments

No comments yet.
To verify that you are human, please fill in "七"(required)