场景描述

在做一些后台管理系统的时候我们可能经常会用到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;
Logo

快速构建 Web 应用程序

更多推荐