作者: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. Java——线程间通信

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  2. 微软IE团队发布《逃离XP》浏览器小游戏

    微软IE团队今天发布了一个有趣的小游戏<逃离Windows XP>,这款游戏可以工作在所有现代浏览器下,简单的街机风格可以让你尽情对XP施展破坏欲.微软发布XP及提供支持服务已经史无前例地 ...

  3. Matlab量化函数quantiz解析

    在Matlab里,有一个量化函数quantiz,其函数形式有以下三种: 输入变量: sig代表的是原始信号; codebook代表的是量化值的集合; partition是分割向量,代表对量化范围分割等 ...

  4. React Native笔记整理

    判断一个APP页面时原生还是H5:http://www.cnblogs.com/sonice-cinsy/p/5671324.html 写给移动开发者的React Native指南:http://bl ...

  5. Osmocom-bb系统编译

    Ubuntu 12.04.5 LTS i386环境下编译 sudu su --------------------------------------------------------------- ...

  6. 解决在转发一条内容为满的彩信,删除主题FWD,发送的时候提示转化为短信。

    问题描述: 1.长按一条输入内容为满的彩信,选择转发 2.输入联系人-删除主题FWD-发送 测试结果为:提示正转化为短信(见附件) 预期结果为:不应该有提示,应该还是彩信 测试结果图为: 根据提示的T ...

  7. C#winform菜单权限分配,与菜单同步的treeView树状菜单权限控制使用心得

    在网上查了很多,发现没有讲述关于--C#winform菜单权限分配,与菜单同步的treeView树状菜单权限控制使用--的资料 自己研究了一个使用方法.下面来看看. 我有两个窗体:LOGINFRM,M ...

  8. 好玩的Python库tqdm (转载)

    原文地址: https://blog.csdn.net/zejianli/article/details/77915751 可以显示循环的进度条的库,再也不用担心不知道程序跑到哪里还要跑多久了 tqd ...

  9. python编码问题 decode与encode

    参考: http://www.jb51.net/article/17560.htm 如果要在python2的py文件里面写中文,则必须要添加一行声明文件编码的注释,否则python2会默认使用ASCI ...

  10. CodeForces - 1087F:Rock-Paper-Scissors Champion(set&数状数组)

    n players are going to play a rock-paper-scissors tournament. As you probably know, in a one-on-one ...