layui 的layero 调用子页面的函数
时间: 2024-04-06 16:30:50 浏览: 16
要在父页面中调用子页面的函数,可以通过以下步骤实现:
1. 在父页面中获取子页面的iframe,例如:var childFrame = window.frames["子页面的iframe名称"];
2. 在父页面中调用子页面的函数,例如:childFrame.子页面中的函数名称();
具体代码示例如下:
// 父页面中获取子页面的iframe
var childFrame = window.frames["子页面的iframe名称"];
// 父页面中调用子页面的函数
childFrame.子页面中的函数名称();
相关问题
layui 弹窗的btn 函数中获取 调用子页面的函数
如果你想在layui弹窗的btn函数中获取调用子页面的函数,需要先在弹窗的父页面中定义该函数,然后将该函数作为参数传递给弹窗子页面。在弹窗的btn函数中,你可以通过参数获取该函数并调用它。具体实现可以参考如下代码:
// 父页面
layui.use(['layer'], function() {
var layer = layui.layer;
// 定义调用子页面的函数
function handleChildButtonClick() {
console.log('Child button clicked.');
}
function openModal() {
layer.open({
title: 'Modal',
content: '<button id="childButton">Child Button</button>',
btn: ['Ok', 'Cancel'],
yes: function(index) {
// 通过参数获取父页面传递过来的函数
handleChildButtonClick();
layer.close(index);
},
success: function(layero, index) {
// 绑定子页面按钮的点击事件
layero.find('#childButton').on('click', function() {
handleChildButtonClick();
});
}
});
}
$('#openModal').on('click', openModal);
});
// HTML
<button id="openModal">Open Modal</button>
在上面的代码中,父页面在layui.use中定义了handleChildButtonClick函数,并在openModal函数中将该函数作为参数传递给layer.open方法。在弹窗的btn函数中,通过参数获取该函数并调用它。
此外,父页面还在success回调函数中绑定了子页面按钮的点击事件,并在该事件处理函数中调用了handleChildButtonClick函数。
layui 父页面获取弹出层子页面值
可以通过以下步骤在layui父页面获取弹出层子页面的值:
1. 在子页面中定义一个函数,用于获取需要传递的值并返回。
例如,在子页面中定义一个函数 `getVal()`,用于获取输入框的值:
```
function getVal() {
var val = $('#inputVal').val();
return val;
}
```
2. 在父页面中使用 `layer.open` 打开弹出层,并传递一个回调函数。
例如,在父页面中打开弹出层,并传递一个回调函数 `function(data){}`:
```
layer.open({
type: 2,
content: '子页面URL',
btn: ['确定', '取消'],
yes: function(index, layero) {
var childWindow = layero.find('iframe')[0].contentWindow;
var val = childWindow.getVal();
// 调用回调函数,并将获取的值作为参数传递
callback(val);
layer.close(index);
}
});
```
3. 在回调函数中获取子页面返回的值。
例如,在回调函数中获取子页面返回的值并进行处理:
```
function callback(val) {
// 处理获取的值
console.log(val);
}
```
通过以上步骤,就可以在layui父页面中获取弹出层子页面的值了。