场景描述
在做一些后台管理系统的时候我们可能经常会用到easyui,因为它的页面样式基本不用我们开发人员怎么调。但是页面的美观度可能不是太好,所以比较适合后台管理系统这种对界面要求不是很高的项目。最近做后台管理的时候遇到一个问题,一般我们会分上、下、左、中。我们在中间的部分,也就是main的部分一般是用的下面的代码来实现的
$('#mainMenu').tree({
url : '<%=basePath%>user/loadSysMenus.do',
parentField : 'pid',
onClick : function(node) {
if (node.attributes.url) {
var src = '<%=basePath%>' + node.attributes.url;
if (node.attributes.target && node.attributes.target.length > 0) {
window.open(src, node.attributes.target);
} else {
var tabs = $('#mainTabs');
var opts = {
title : node.text,
closable : true,
iconCls : node.iconCls,
content : '<iframe src="' + src + '" allowTransparency="true" style="border:0;width:100%;height:99%;" frameBorder="0"></iframe>',
border : false,
fit : true
};
if (tabs.tabs('exists', opts.title)) {
tabs.tabs('select', opts.title);
} else {
tabs.tabs('add', opts);
}
}
}
}
});
我们要在main中打开的当前页面中获取当前的title
解决方案
之前自己试了很多种方案都没有成功,后来看到一个easyui的例子,里面用到了panel(‘options’),我突然想到这样会不会就OK了,后来下面的代码经过试验果然是正确的。
var menuName=parent.$('#mainTabs').tabs('getSelected').panel('options').title;