2013-02-20 39 views
0

我有以下樹動態建立選項卡。該選項卡具有源是從JSON文件中取出一個iframe:jquery easyui動態創建的標籤刷新包含的iframe每次圖標類被點擊

<script type="text/javascript"> 
$(function(){ 
    $('#tree_menu').tree({  
    animate:true,  
    onClick: function open1(node){ 
     if ($('#tabs').tabs('exists',node.id)){ 
     $('#tabs').tabs('select', node.id); 
     } else { 
     $('#tabs').tabs('add',{ 
     title: node.id, 
     content: "<iframe id='superframe' frameborder='0' width='100%' scrolling='auto' height='99%' src='" + node.attributes.url + "'><iframe>", 
     closable:true, 
     tools:[{ 
     iconCls:'icon-mini-refresh', 
     handler:function(){ 
      alert('refreshing'); 
     $('#superframe').get(0).contentWindow.location.reload();  
     } 
     }] 

     }); 
     } 
    } 
    }); 

    $('#tabs').tabs({ 
    onBeforeClose: function(title){ 
    return confirm('Are you sure you want to close ' + title); 
    } 
    }); 

}); 
</script> 

我想實現的是在標籤圖標迷你刷新點擊,重新加載的iframe在特定的標籤。 用我上面的代碼,我可以做到這一點,但它只適用於第一個打開的選項卡。從第二個開始,它不再工作。它只是不令人耳目一新.... 我試過所有可能的iframe重新加載方法在谷歌找到,但沒有任何成功。

你能幫我解決嗎? 非常感謝!

+0

我曾嘗試也使用jQuery,並改寫了SRC:'code' $( '#超')ATTR ('src',node.attributes.url); 出現同樣的問題。我打開第一個選項卡,單擊刷新圖標,一切正常,iframe刷新,但是當第二個選項卡打開時,刷新將不起作用。第三個是相同的,依此類推。 你能幫我解決這個問題嗎? – user1984881 2013-02-22 11:31:40

回答

1

iframe的ID必須是唯一的,以實現這一點,請嘗試下面的代碼,

<script type="text/javascript"> 
$(function(){ 
    $('#tree_menu').tree({  
    animate:true,  
    onClick: function open1(node){ 
     if ($('#tabs').tabs('exists',node.id)){ 
     $('#tabs').tabs('select', node.id); 
     } else { 
     var frameId='superframe'+node.id; 
     $('#tabs').tabs('add',{ 
     title: node.id, 
     content: "<iframe id='"+frameId+"' frameborder='0' width='100%' scrolling='auto'  height='99%' src='" + node.attributes.url + "'><iframe>", 
     closable:true, 
     tools:[{ 
     iconCls:'icon-mini-refresh', 
     handler:function(){ 
      alert('refreshing'); 
     $('#'+frameId).get(0).contentWindow.location.reload();  
     } 
     }] 

     }); 
     } 
    } 
    }); 

    $('#tabs').tabs({ 
    onBeforeClose: function(title){ 
    return confirm('Are you sure you want to close ' + title); 
    } 
}); 

}); 
</script> 
+0

非常感謝你Saigitha!它工作得很好。 沒有意識到它需要一個唯一的框架ID。 再次感謝您。 – user1984881 2013-02-25 09:55:44

+0

現在出現一個小問題。這些標籤包含一些包含一些鏈接的頁面(cgi-script)。當加載第一個內容時,刷新工作正常,但是當點擊加載頁面的鏈接時,iframe中cgi-bin腳本生成的內容不會重新加載。任何想法爲什麼? – user1984881 2013-02-25 10:10:18

+0

你可以發佈代碼(內容鏈接在標籤中)。 – 2013-02-25 12:25:02