在easyui开发中,在弹出层中经常进行跨iframe中的UI组件的获取:例如:
页面结构如下:
弹出层放在<div di="win">中
Iframe上一层的div是query.jsp是放datagrid的页面,此时,在query.jsp页面中,删除datagrid中的数据,在
query.jsp中用$("#dg").datagrid("reload");可以成功刷新页面。
aindex.jsp页面:
添加弹出层页面:save.jsp
// 刷新页面 获得 aindex --->iframe ---->dg
保存数据之后,我们在弹出层页面刷新页面 parent.$("#dg").datagrid("reload"); //不兼容 不报错,也没有页面反应
//find返回jquery对象,获得datagrid出现兼容性问题,报错
//parent.$("iframe[title='类别管理']").contents().find("#dg").datagrid("getSelections");
解决思路: dom---->jquery---->easyui,将jquery对象转化成为dom(往下转)
获取当前的tab的title
var tab = parent.$('#tt').tabs('getSelected');
var index = parent.$('#tt').tabs('getTabIndex',tab);
var name = parent.$("iframe:eq("+(index-1)+")").attr("title");
获取当前tab下的iframe
var dg = parent.$("iframe[title='"+ name +"']").get(0).contentWindow.$("#dg").datagrid("reload");