作者:ssslinppp      

1. 摘要



一般我们在设计程序主框架的时候,当点击(子)菜单时,希望相应界面都在tabs页中显示;
在显示的时候,如果之前打开过该界面,则希望重新选中对应的tab页,并刷新;
如果之前没有打开对应的tab页,则创建一个新的tab页;
如下图所示:




2. jsp界面






  1. <!-- 主操作区 -->
  2. <div region="center" style="background:#eee; overflow-y:hidden" >
  3. <div id="centerTabs" class="easyui-tabs" fit="true" border="false" >
  4. </div>
  5. </div>
  6. <!--===================================其他信息===================================-->
  7. <!--tabs页右键选项 -->
  8. <div id="mm" class="easyui-menu" style="width:150px;z-index:90000000">
  9. <div id="mm-tabupdate">刷新</div>
  10. <div class="menu-sep"></div>
  11. <div id="mm-tabclose">关闭</div>
  12. <div id="mm-tabcloseall">全部关闭</div>
  13. <div id="mm-tabcloseother">除此之外全部关闭</div>
  14. <div class="menu-sep"></div>
  15. <div id="mm-tabcloseright">当前页右侧全部关闭</div>
  16. <div id="mm-tabcloseleft">当前页左侧全部关闭</div>
  17. </div>

3. 二级菜单


二级菜单:




  1. var actionUrl = basePath + "getMainMenu.action";
  2. var params = {
  3. };
  4. //菜单请求
  5. $.ajax({
  6. type : "POST",
  7. url : actionUrl,
  8. data : params,
  9. dataType : "json",
  10. async : false,
  11. cache : false,
  12. error : function(textStatus, errorThrown) {
  13. $.messager.alert('错误', "系统菜单加载失败: " + textStatus, 'error');
  14. },
  15. success : function(data, textStatus) {
  16. var menuList1 = "";
  17. $.each(data.menuList, function(i, o) {
  18. if(o.select){
  19. var mid = "#m"+i;//一级菜单mid
  20. var mmmid = "m"+i;
  21. menuList1 += '<a href="javascript:void(0)" class="easyui-menubutton" menu="'+mid+'" iconCls="'+o.iconName+'" style="width:130px;">'+o.menuName+'</a>';
  22. menuList1 += '<div id="'+mmmid+'" style="width:130px;">';
  23. $.each(o.childMenus, function(j, p) {
  24. if(p.select){
  25. var secondMenuId = ""+i+j;
  26. menuList1 += '<div id="'+secondMenuId+'" iconCls="'+p.iconName+'" url="'+p.urlPath+'" class="secondMenu">'+p.menuName+'</div>';
  27. }
  28. });
  29. menuList1 += '</div>'
  30. }
  31. })
  32. $(".menu1").append(menuList1);
  33. }
  34. });
2级菜单是通过拼接HTML语言完成的,拼接后的代码形如:

  1. <a href="javascript:void(0)" class="easyui-menubutton" menu="#m0" iconCls="icon-ok" style="width:130px;">一级菜单1</a>
  2. <div id="m0" style="width:130px;">
  3. </div>
  4. <a href="javascript:void(0)" class="easyui-menubutton" menu="#m1" iconCls="icon-ok" style="width:130px;">一级菜单2</a>
  5. <div id="m1" style="width:130px;">
  6. <div id="10" iconCls="icon-ok" url="null" class="secondMenu">二级菜单21</div>
  7. <div id="11" iconCls="icon-ok" url="null" class="secondMenu">二级菜单22</div>
  8. <div id="12" iconCls="icon-ok" url="null" class="secondMenu">二级菜单23</div>
  9. <div id="13" iconCls="icon-ok" url="null" class="secondMenu">二级菜单24</div>
  10. </div>


4. tabs



  1. /*选择2级菜单功能项后在center区域 添加tabs*/
  2. $(".secondMenu").click(function(){
  3. var name = $(this).text();
  4. if($("#centerTabs").tabs('exists', name)){ //选中并更新
  5. $('#centerTabs').tabs('select', name);
  6. $('#mm-tabupdate').click();
  7. }
  8. else{
  9. var url = basePath+$(this).attr("url"); //要加载界面的URL--action请求
  10. var icons = $(this).attr("iconCls");
  11. $('#centerTabs').tabs('add',{
  12. title:name,
  13. url: url,
  14. icon:icons,
  15. content:'<iframe scrolling="auto" frameborder="0" id="'+name+'" name="'+name+'" src="'+url+'" style="width:100%;height:100%"></iframe>',
  16. closable:true});
  17. };
  18. });


  1. //绑定右键菜单事件
  2. function tabCloseEven(){
  3. //刷新
  4. $('#mm-tabupdate').click(function(){
  5. var currTab = $('#centerTabs').tabs('getSelected');
  6. var content = $(currTab.panel('options').content);
  7. $('#centerTabs').tabs('update',{
  8. tab:currTab,
  9. options:{
  10. content:content
  11. }
  12. })
  13. });
  14. };

附件列表

【EasyUI学习-3】Easyui tabs入门实践的更多相关文章

  1. 分布式学习系列【dubbo入门实践】

    分布式学习系列[dubbo入门实践] dubbo架构 组成部分:provider,consumer,registry,monitor: provider,consumer注册,订阅类似于消息队列的注册 ...

  2. EasyUI学习(一)——EasyUI入门

    EasyUI学习总结(一)——EasyUI入门 一.EasyUI下载 EasyUI官方下载地址:http://www.jeasyui.com/download/index.php,目前最新的版本是:j ...

  3. EasyUI学习笔记(一)EasyUI入门

    一.EasyUI下载 EasyUI官方下载地址:http://www.jeasyui.com/download/index.php,目前最新的版本是:jquery-easyui-1.7.2 解压后得到 ...

  4. easyUI 学习

    )省份-城市-区域三级联动[struts2 + ajax +非数据库版] (1)省份-城市-区域,基于jQuery的AJAX三级联动,用Struts2整合AJAX[非数据库版] $.ajax( { t ...

  5. JQuery EasyUI学习框架

    前言 前端技术,新项目的开发拟使用EasyUI框架(基于EasyUI丰富UI组件库),项目负责人的提示EasyUI分配给我这个任务.发展前,我需要这对于一个新手EasyUI框架学习一些基本的入门.记录 ...

  6. jQuery EasyUI学习资源汇总

    jQuery EasyUI学习资源汇总 EasyUi – 1.入门 EasyUi – 2.布局Layout + 3.登录界面 EasyUi – 4.datwagrid 学习Jquery EasyUI的 ...

  7. jQuery EasyUI学习二

    1.   课程介绍 1.  Datagrid组件(掌握) 2.  Dialog.form组件(掌握) 3. Layout.Tabs;(掌握) Datagrid组件 2.1.  部署运行pss启动无错 ...

  8. Asp.Net MVC4 + Oracle + EasyUI 学习 序章

    Asp.Net MVC4 + Oracle + EasyUI  序章 -- 新建微软实例 本文链接:http://www.cnblogs.com/likeli/p/4233387.html 1.  简 ...

  9. 1. EasyUI 学习总结(一)——对话框dialog

    文章参考来源:http://www.cnblogs.com/xdp-gacl/p/4075079.html 感谢博主的分享,写得非常精细,我在这边给看过的做一个记录. 一.EasyUI下载 使用eas ...

随机推荐

  1. 北邮新生排位赛2解题报告d-e

    <> 427. 学姐逗学弟 时间限制 3000 ms 内存限制 131072 KB 题目描述 学弟们来了之后,学姐每天都非常高兴的和学弟一起玩耍.这一天,学姐想出了这样一个游戏,她画了一棵 ...

  2. POJ 2586 Y2K Accounting Bug 贪心 难度:2

    Y2K Accounting Bug Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10537   Accepted: 52 ...

  3. 什么是 SSO 与 CAS?

    SSO SSO 是英文 Single Sign On 的缩写,翻译过来就是单点登录.顾名思义,它把两个及以上个产品中的用户登录逻辑抽离出来,达到只输入一次用户名密码,就能同时登录多个产品的效果. 打个 ...

  4. System.Insert - 插入字符串

    System.Insert - 插入字符串 procedure Insert( Substr: String; {要插入的字符串; 可以是常量} var Dest: String; {源字符串} In ...

  5. 玩转X-CTR100 l STM32F4 l ADC 模拟数字转换

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      本文介绍X-CTR100控制器 AD转换接 ...

  6. <NET CLR via c# 第4版>笔记 第15章 枚举类型和位标志

    15.1 枚举类型 枚举定义的符号是常量值. C#编译器编译时,会用数值替换符号,不再引用定义了符号的枚举类型.可能会出现一些版本问题. Enum.IsDefined(Type enumType, o ...

  7. Crystal Report Error: Either the Crystal Reports registy key permission are insufficient or the Crystal Reports runtime is not installed correctly

    在64位 Windows 7中水晶报表的错误: Crystal Report Error: Either the Crystal Reports registy key permission are ...

  8. SWIFT中获取配置文件路径的方法

    在项目中有时候要添加一些配置文件然后在程序中读取相应的配置信息,以下为本人整理的获取项目配置文件(.plist)路径的方法: 1.获取沙盒路径后再APPEND配置文件 func documentsDi ...

  9. C语言基础:初级指针 分类: iOS学习 c语言基础 2015-06-10 21:50 30人阅读 评论(0) 收藏

    指针:就是地址. &   取地址运算符 %p   打印地址占位符 int a=0; printf("%p ",&a);    指针变量:用来存放地址的变量 定义: ...

  10. 在Windows XP系统下架设FTP服务器需要5个步骤。

    4步win7下简单FTP服务器搭建:http://blog.sina.com.cn/s/blog_3f7e47f20100haur.html 申请网域护照(即帐户),开通免费域名.连接到www.ora ...