溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在layui中使用layer實現(xiàn)父子頁面交互

發(fā)布時間:2021-04-13 17:15:07 來源:億速云 閱讀:467 作者:Leah 欄目:web開發(fā)

本篇文章為大家展示了怎么在layui中使用layer實現(xiàn)父子頁面交互,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

1、訪問父頁面元素值

var parentId=parent.$("#id").val();//訪問父頁面元素值

2、訪問父頁面方法

var parentMethodValue=parent.getMethodValue();//訪問父頁面方法

3、如何關(guān)閉彈出的子頁面窗口

var index = parent.layer.getFrameIndex(window.name); //獲取窗口索引
parent.layer.close(index);//關(guān)閉彈出的子頁面窗口

4、如何從子頁面執(zhí)行刷新父頁面操作

parent.location.reload(); // 父頁面刷新

附:layer彈出多個iframe找到父頁面的方法

父頁面:

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, //開啟最大化最小化按鈕
      content: url ,
      btn: ['確定', '關(guān)閉'],
      yes: function(index, layero){
         var body = top.layer.getChildFrame('body', index);
         var iframeWin = layero.find('iframe')[0]; //得到iframe頁的窗口對象,執(zhí)行iframe頁的方法: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)閉對話框。
           top.window[iframeName].frames.location.reload();//刷新父親
         }
     },
     cancel: function(index){
      }
  });
}
//子頁面回調(diào)方法
function addRecord(name,chainName){
  alert(name);
}

子頁面

function doSubmit(iframeName) {
    var sel=$("tbody tr td input.i-checks:checked");
    var size = sel.size();
    if(size==0){
      top.layer.alert('請至少選擇一條數(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;
    }
}

上述內(nèi)容就是怎么在layui中使用layer實現(xiàn)父子頁面交互,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI