天天看點

關于easyUI在子頁面增加顯示tabs的一個問題

在父頁面點個連結能動态看到子頁面的情況太簡單,請看easyui官網:http://www.jeasyui.com/tutorial/layout/tabs2.php

現在說的是在子頁面點個按鈕也能觸發增加子頁面的情況。

情景是,在父頁面上有個div如:

html代碼  

關于easyUI在子頁面增加顯示tabs的一個問題

<div class="easyui-tabs" id="main" fit="true" border="false">  

  <div title="welcome" iconcls="icon-page" style="padding:20px;overflow:hidden;">    

  </div>  

</div>  

 在子頁面上有個

關于easyUI在子頁面增加顯示tabs的一個問題

<a href="#" class="easyui-linkbutton" iconcls="icon-edit" plain="true" onclick="testaddsubpage('new tab','http://www.baidu.com')">test add subpage</a>    

 現在想點這個連結能彈出一個新的tab,tab裡面的内容是百度首頁。關鍵的問題來了,就是testaddsubpage這個function怎麼寫。

直接這樣寫是不行的:

js代碼  

關于easyUI在子頁面增加顯示tabs的一個問題

function testaddsubpage(title,url){  

            var parentmain = window.parent.document.getelementbyid("main");  

            var $main = $(parentmain);  

            var content = '<iframe scrolling="auto" frameborder="0"  src="'+url+'" style="width:100%;height:100%;"></iframe>';   

            $main.tabs('add',{  

                    title:title,  

                    content:content,  

                    closable:true  

                }  

            );  

        }  

 這裡雖然可以取到父頁面那個id為main的div對象,但是把這個dom對象轉化為jquery對象$main之後,$main.tabs('add',{...})這個方法死法報錯不能通過。

改正的關鍵是用top.jquery這個函數,這個函數具體出外我忘記了,用法看似是取得整個父頁面對象,正确是寫法:

java代碼  

關于easyUI在子頁面增加顯示tabs的一個問題

function testaddsubpage(title,url){    

            var jq = top.jquery;    

            if (jq("#main").tabs('exists', title)){    

                jq("#main").tabs('select', title);    

            } else {  

                  var content = '<iframe scrolling="auto" frameborder="0"  src="'+url+'" style="width:100%;height:100%;"></iframe>';     

                   jq("#main").tabs('add',{    

                                      title:title,    

                                      content:content,    

                                      closable:true    

                                    });    

             }    

        }    

這樣,在子頁面點選test add subpage這個連結之後,就會根據傳入的url彈出另一個子頁面,這裡是百度。

關于easyUI在子頁面增加顯示tabs的一個問題
關于easyUI在子頁面增加顯示tabs的一個問題

檢視圖檔附件

頁面增加顯示tabs的一個問題