layui框架中l(wèi)ayer父子頁(yè)面交互的方法分析
本文實(shí)例講述了layui框架中l(wèi)ayer父子頁(yè)面交互的方法。分享給大家供大家參考,具體如下:
layer是一款近年來(lái)備受青睞的web彈層組件,官網(wǎng)地址是:http://layer.layui.com/
可以從官網(wǎng)上下載最新版本。
還可點(diǎn)擊此處本站下載。
當(dāng)layer以iframe層的方式彈出新的窗口(子頁(yè)面),如何在子頁(yè)面中訪問(wèn)父頁(yè)面的元素和函數(shù)。
1、訪問(wèn)父頁(yè)面元素值
var parentId=parent.$("#id").val();//訪問(wèn)父頁(yè)面元素值
2、訪問(wèn)父頁(yè)面方法
var parentMethodValue=parent.getMethodValue();//訪問(wèn)父頁(yè)面方法
3、如何關(guān)閉彈出的子頁(yè)面窗口
var index = parent.layer.getFrameIndex(window.name); //獲取窗口索引 parent.layer.close(index);//關(guān)閉彈出的子頁(yè)面窗口
4、如何從子頁(yè)面執(zhí)行刷新父頁(yè)面操作
parent.location.reload(); // 父頁(yè)面刷新
附:layer彈出多個(gè)iframe找到父頁(yè)面的方法
父頁(yè)面:
function aa(){
var index = parent.layer.getFrameIndex(window.name);
var iframeName = 'layui-layer-iframe'+index;
openDialog1('選擇XXX', '${ctx}/*****,'800px', '500px',iframeName);
}
function openDialog1(title,url,width,height,target){
top.layer.open({
type: 2,
area: [width, height],
title: title,
maxmin: true, //開(kāi)啟最大化最小化按鈕
content: url ,
btn: ['確定', '關(guān)閉'],
yes: function(index, layero){
var body = top.layer.getChildFrame('body', index);
var iframeWin = layero.find('iframe')[0]; //得到iframe頁(yè)的窗口對(duì)象,執(zhí)行iframe頁(yè)的方法:iframeWin.method();
var inputForm = body.find('#inputForm');
var top_iframe;
if(target){
top_iframe = target;//如果指定了iframe,則在改frame中跳轉(zhuǎn)
}else{
top_iframe = top.getActiveTab().attr("name");//獲取當(dāng)前active的tab的iframe
}
inputForm.attr("target",top_iframe);//表單提交成功后,從服務(wù)器返回的url在當(dāng)前tab中展示
if(iframeWin.contentWindow.doSubmit(top_iframe) ){
top.layer.close(index);//關(guān)閉對(duì)話框。
top.window[iframeName].frames.location.reload();//刷新父親
}
},
cancel: function(index){
}
});
}
//子頁(yè)面回調(diào)方法
function addRecord(name,chainName){
alert(name);
}
子頁(yè)面
function doSubmit(iframeName) {
var sel=$("tbody tr td input.i-checks:checked");
var size = sel.size();
if(size==0){
top.layer.alert('請(qǐng)至少選擇一條數(shù)據(jù)!', {icon: 0, title:'警告'});
return false;
}else{
for(var i=0;i<size;i++){
top.window[iframeName].addRecord(sel[i].name,sel[i].value);
}
return true;
}
}
另:layui完整源碼可點(diǎn)擊此處本站下載。
希望本文所述對(duì)大家基于layui框架的程序設(shè)計(jì)有所幫助。
相關(guān)文章
關(guān)于moment.js的常用方法及使用說(shuō)明
這篇文章主要介紹了關(guān)于moment.js的常用方法及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
詳解JavaScript中關(guān)于this指向的4種情況
這篇文章主要介紹了JavaScript中關(guān)于this指向的4種情況,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
深入學(xué)習(xí) JavaScript中的函數(shù)調(diào)用
可能很多人在學(xué)習(xí) JavaScript 過(guò)程中碰到過(guò)函數(shù)參數(shù)傳遞方式的迷惑,本著深入的精神,我給大家分享了一篇教程關(guān)于javascript中的函數(shù)調(diào)用知識(shí),感興趣的朋友一起學(xué)習(xí)吧2017-03-03
微信小程序獲取手機(jī)系統(tǒng)信息的方法【附源碼下載】
這篇文章主要介紹了微信小程序獲取手機(jī)系統(tǒng)信息的方法,涉及微信小程序wx.getSystemInfo函數(shù)的簡(jiǎn)單使用技巧,并附帶源碼供讀者下載參考,需要的朋友可以參考下2017-12-12
微信小程序setInterval定時(shí)函數(shù)新手使用的超詳細(xì)教程
平時(shí)開(kāi)發(fā)中為實(shí)現(xiàn)倒計(jì)時(shí)效果可以使用setInterval即可,下面這篇文章主要給大家介紹了關(guān)于微信小程序setInterval定時(shí)函數(shù)新手使用的超詳細(xì)教程,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08

