layer.open传值

46次阅读

共计 1401 个字符,预计需要花费 4 分钟才能阅读完成。

最近在做一个后台项目,正好碰上了要使用 layer.open,就顺手记录一下,方便以后遇到了有个参考 – 2016/11/7
layer 这个是一个 web 弹层组件,挺好用的 … 然后项目框架是 SSM…
layer.open 主要是用来弹出来一个 iframe 弹窗,然后用来展示数据也行,用来修改也行,这次记录的主要是展示,展示我想要展示的数据,我需要的页面 …
layer.open({
type: 1,
title: ‘ 账户信息详情 ’,
shadeClose: true,
shade: false,
maxmin: true, // 开启最大化最小化按钮
area: [‘893px’, ‘600px’],
content: xxxxxxxxx
});
其他的不看,单看 content,因为 content 的内容就是需要展示的内容
第一种方法,很简单,我想要看一个已经存在的页面,比如说百度,或者项目中某个页面 直接写地址
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 来定
第二种方法,将需要的内容写到页面上,然后在使用的时候调用
jsp 页面:
<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
});
我现在使用的就是这三种方法,也许还有更好的方法,以后发现了再记录
对于方法一:因为是使用已经存在的 controller 和页面,所以传值什么都比较方便,需要什么值就获取什么值传递什么值 … 但是有些页面可能我不想让别人通过 url 直接就访问到 … 那就可以用第二种和第三种 … 所需的数据直接通过 ajax 从后台获取到,然后再放到具体的位置,然后再展示~~

正文完
 0