使用layui框架时,在点击表格中的按钮时,显示当前行的信息至layer弹出层.
在点击查看或者编辑按钮时,会有一个弹出框
我这里用的是layui的外链页面的形式引入的页面
这种方式,引入页面后,浏览器加载,直接将这个外链的弹窗解释称iframe了
现在我需要将点击的那一行的每个信息展示在弹窗中,这就涉及到传参
之前有看layui的文档,layer.getChildFrame(selector, index) 这个方法有用过,但是效果没有出来,也查了相关资料,发现写的都差不多,不知道哪儿出了问题。望大神予以解答。
这是官方文档的处理方式:
layer.open({
type: 2,
content: 'test/iframe.html',
success: function(layero, index){
var body = layer.getChildFrame('body', index);
var iframeWin = window[layero.find('iframe')[0]['name']]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
console.log(body.html()) //得到iframe页的body内容
body.find('input').val('Hi,我是从父页来的')
}
});
下面是我写的:
layui.use(['layer', 'form'], function(){ //独立版的layer无需执行这一句
var $ = layui.jquery, layer = layui.layer, form = layui.form; //独立版的layer无需执行这一句
layer.open({
type: 2
,title: ['查看信息'] //不显示标题栏
,closeBtn: 1
,area: ['400px', '500px']
,shade: 0.4
,id: 'LAY_layuipro7' //设定一个id,防止重复弹出
,btn: ['确定']
,btnAlign: 'c'
,moveType: 1 //拖拽模式,0或者1
,content:'../../../html/iframes/company/check-layer.html'
,success:function(layero, index){
var body = layer.getChildFrame('body', index);
var iframeWin = window[layero.find('iframe')[0]['name']];
body.find('.personId').val(data.id)
body.find('.personName').val(data.name)
body.find('.sex').val(data.sex)
body.find('.city').val(data.city)
body.find('.sign').val(data.sign)
body.find('.score').val(data.score)
}
})
})