項目中使用easyui的tab頁,每個tab頁均內嵌iframe,現在要在tab頁中控制新增一個同級別的tab頁,記錄如下:
首先是main.html主頁面:
<div class="easyui-tabs" fit="true" id="tabs"> <div title="首頁" data-options="iconCls:'icon-home'" id="main"></div> </div>
現在要在‘首頁’這個tab頁中控制新增一個同級別的tab頁,可使用如下:
var jq = top.jQuery; if (jq("#tabs").tabs('exists', "新增的tab頁")){ jq("#tabs").tabs('select', "新增的tab頁"); } else { var content = '<iframe scrolling="auto" frameborder="0" src="/href/list" style="width:100%;height:100%;"></iframe>'; jq("#tabs").tabs('add',{ title:"新增的tab頁", content:content, closable:true, iconCls: "icon-building_edit" }); }
刷新'首頁'這個tab頁:
var jq = top.jQuery; jq("#tabs").tabs('close', "新增的tab頁"); var tab = jq('#tabs').tabs("getSelected"); // get selected panel jq('#tabs').tabs('update', { tab: tab, options: { content:'<iframe scrolling="auto" frameborder="0" src="/market" style="width:100%;height:100%;"></iframe>' } }); jq.messager.show({title:"提示",content:"更新成功"});
這樣的話,一個tab頁關閉之后,就可以實現刷新之前跳轉過來的tab頁。
然后是在iframe子頁面中調用父頁面的js方法:
function openCustomerLinkMan(){ var selectedRows=$("#dg").datagrid("getSelections"); if(selectedRows.length!=1){ $.messager.alert("系統提示","請選擇一條要管理的數據!"); return; } window.parent.openTab('客戶聯系人管理','linkManManage.jsp?cusId='+selectedRows[0].id,'icon-lxr'); //直接新增一個tab頁 }