作者: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. js框架封装简单实例

    (function(){ window["event"] = {} //event注册到window上面 function init(data){ // 定义一个init内部函数 ...

  2. 跟我一起学习ASP.NET 4.5 MVC4.0(三)

    今天我们继续ASP.NET 4.5 MVC 4.0,前两天熟悉了MVC4.0在VS11和win8下的更新,以及MVC中的基础语法和几个关键字的使用.了解了这些就可以对MVC进一步认识,相信很多人都对M ...

  3. dom4j+XPath

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

  4. (C/C++学习笔记) 十六. 预处理

    十六. 预处理 ● 关键字typeof 作用: 为一个已有的数据类型起一个或多个别名(alias), 从而增加了代码的可读性. typedef known_type_name new_type_nam ...

  5. Runtime-iOS运行时应用

    本篇将会总结Rutime的具体应用实例,结合其动态特性,Runtime在开发中的应用大致分为以下几个方面(Runtime应用图): 相关文章:iOS运行时Runtime基础 一.动态方法交换:Meth ...

  6. MS14-021: Internet Explorer 安全更新: 2014 年 5 月 1 日

    微软推送全平台IE零日漏洞补丁 2014.05.2 3 Comments 207 views今天,微软正式发布IE安全补丁,修复4月底曝光的零日漏洞.用户可通过Windows Update自动更新服务 ...

  7. 谷歌Gmail诞生记:十年回首

    美国<时代>周刊网络版今天刊登题为<Gmail诞生记:10年前鲜为人知的故事>(How Gmail Happened: The Inside Story of Its Laun ...

  8. jquery中使用jsonp

    1 .关于jsonp的原理等,请看下面的文章,说的很明白. http://www.cnblogs.com/dowinning/archive/2012/04/19/json-jsonp-jquery. ...

  9. TreeView添加treeView1_NodeMouseClick----多么痛的领悟。。。

    TreeView添加treeView1_NodeMouseClick----多么痛的领悟... 1首先说一点,通过参考代码,已经实现了菜单项自动添加到TreeView控件的树视图了. 2.在移植(菜单 ...

  10. 京东Java面试题(二)

    1.set集合从原理上如何保证不重复 1)在往set中添加元素时,如果指定元素不存在,则添加成功.也就是说,如果set中不存在(e==null ? e1==null : e.queals(e1))的元 ...