说明:EasyUI版本1.3.4 ,jQuery版本1.8.3

EasyUI Tabs常见使用方式

按照官方文档的说法,创建Tabs的方式有两种:

  1. 静态页面标签
  2. 动态JS代码

静态方式主要用于创建一些内容固定的Tabs,而动态方式通常用来导入Ajax请求返回的内容或者嵌入其他已存在页面。
我个人觉得创建并使用Tabs的方式其实只有一种,那就是先创建装载选项卡的容器,然后在容器中放入具体的选项卡,至于你怎么放,就是官方给出的静态和动态两种方式了。

创建容器:

  1. <div id="data_tabs" data-options="fit:true,border:false,tabWidth:110,tabHeight:25" class="easyui-tabs"> </div>

添加选项卡到容器
1、静态页面标签

  1. <div id="tt" class="easyui-tabs" style="width:500px;height:250px;">
  2. <div title="Tab1" style="padding:20px;display:none;">
  3. tab1
  4. </div>
  5. <div title="Tab2" data-options="closable:true" style="overflow:auto;padding:20px;display:none;">
  6. tab2
  7. </div>
  8. <div title="Tab3" data-options="iconCls:'icon-reload',closable:true" style="padding:20px;display:none;">
  9. tab3
  10. </div>
  11. </div>

2、动态JS代码

  1. $('#tt').tabs('add',{
  2. title:'New Tab',
  3. content:'Tab Body',
  4. closable:true,
  5. tools:[{
  6. iconCls:'icon-mini-refresh',
  7. handler:function(){
  8. alert('refresh');
  9. }
  10. }]
  11. });

个人觉得,JS动态添加选项卡的情况会比较多,比如创建下面这样的Tabs,内容是从其他页面导入并动态更新的

如果在页面上创建,扩展起来不方便,并且同时还需要在JS中使用Tabs的update功能,如果动态添加就会很方便,具体实现的代码如下:

  1. <div id="data_tabs" data-options="fit:true,border:false,tabWidth:110,tabHeight:25" class="easyui-tabs">
  2. <div title=””></div>
  3. <div title=””></div>
  4. <div title=””></div>
  5. </div>
  1. //点击页面之后更新每个tab的内容,用到onSelect事件
  2. $(document).ready(function(){
  3. $(“#data_tabs”).tabs({
  4. onSelect:function(title, index){
  5. }
  6. });
  7. });
  8. var t = $(“#data_tabs”);
  9. var mytab = t.tabs('getSelected');  // 获取选择的面板
  10. t.tabs('update', {
  11. tab: mytab,
  12. options: {
  13. title: title,
  14. content: mycontent  // 新内容的URL
  15. }
  16. });

首先在页面上创建一个Tabs容器

  1. <div id="data_tabs" data-options="fit:true,border:false,tabWidth:110,tabHeight:25" class="easyui-tabs"></div>

然后把所有选项卡的title和url信息保存在对象中,需要扩展就给这个对象添加title和url

  1. var userName = $("#userName").val();
  2. var userId = $("#userId").val();
  3. var titleAndUrls = {
  4. "大区" : "",
  5. "品牌" : BasePath+"/authority_user_brand/listtwo?moduleId=1&userName=" + userName + "&userId=" + userId,
  6. "管理城市" : "",
  7. "经营城市" : BasePath+"/authority_user_managing_city/listtwo?moduleId=1&userName=" + userName + "&userId=" + userId,
  8. "订货单位" : BasePath+"/authority_user_order_unit/listtwo?moduleId=1&userName=" + userName + "&userId=" + userId,
  9. "结算公司" : BasePath+"/authority_user_settlement_company/listtwo?moduleId=1&userName=" + userName + "&userId=" + userId,
  10. "店铺" : BasePath+"/authority_user_store/listtwo?moduleId=1&userName=" + userName + "&userId=" + userId,
  11. "仓库" : BasePath+"/authority_user_storage/listtwo?moduleId=1&userName=" + userName + "&userId=" + userId
  12. };

然后再遍历这个对象创建出所有的tabs

  1. //遍历titleAndUrls并创建所有tab
  2. $.each(titleAndUrls, function(title, url){
  3. user_data_auth.createTab(title, url);
  4. });
  5. //用title和url创建tab
  6. user_data_auth.createTab = function (title, url) {
  7. var content = '<iframe src="' + url + '" frameborder="0" border="0" marginwidth="0" marginheight="0" scrolling="yes" width="100%" height="100%"
  8. $('#data_tabs').tabs('add', {
  9. title : title,
  10. selected : false,
  11. closable : false,
  12. content : content
  13. });
  14. };

如果需要创建完之后默认选中第一个,可以使用EasyUI Tabs的select函数

  1. //初始化第一个tab
  2. $('#data_tabs').tabs("select", 0);

url和content的异同

add或者update一个选项卡的时候,可以通过指定url属性或者content属性来嵌入其他页面内容
使用url:嵌入的其他页面和本页面处于同一个作用域,也就是说,本页面的和导入的JS方法不能有命名冲突,标签的id也不能冲突,而且导入的页面不能有body和html标签,仅仅作为一个内容子页面,此时导入页面的JS代码可以在本页面一起引入,也可以在导入页面的底部引入
使用content:嵌入时可以使用iframe标签,也就是说你可以嵌入任意你想嵌入的内容而不受任何限制,但是嵌入完整页面会造成一定程度的资源浪费,比如同样一个js文件需要被两次或多次请求

【EasyUI】Tabs常用操作及href和content的异同的更多相关文章

  1. JQuery EasyUI DataGrid常用操作及注意事项(未完)

    1.获取当前选中行,如果没有选中行,则返回 null var row = $('#gridID').datagrid('getSelected'); 2.获取当前所有选中行数据,返回的是选择的数组数据 ...

  2. easyui api常用操作

    一.FORM表单类 一.textbox validatebox 验证 1.验证规则:validType : 验证规则,类型STRING|ARRAY:1个规则就直接一个字符串,多个规则写在数组里 例如: ...

  3. 解决easyui tabs中href无法跨域跳转

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="content-type" content ...

  4. Easyui tabs的herf和content属性

    在backstage.jsp页面中我写了一个方法,用于在指定位置添加面板(id为msg的地方)function addTab(t,h){ if($('#msg').tabs('exists',t)){ ...

  5. 关于html中的 script标签中的 代码写法有效性? easyui tabs的href不能载入内容页面

    script标签, 即 html中的 js脚本区域中: 它其实就是一个 普通的 html标签, 在 html 渲染器 parser 看来, 它跟其他任何的普通 的 html标签 , 比如 p 标签, ...

  6. 布局-EasyUI Panel 面板、EasyUI Tabs 标签页/选项卡、EasyUI Accordion 折叠面板、EasyUI Layout 布局

    EasyUI Panel 面板 通过 $.fn.panel.defaults 重写默认的 defaults. 面板(panel)当做其他内容的容器使用.它是创建其他组件(比如:Layout 布局.Ta ...

  7. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(23)-设置角色遗留问题和为权限设置角色以及EasyUI Tabs的使用

    ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装    ...

  8. 设置角色遗留问题和为权限设置角色以及EasyUI Tabs的使用

    设置角色遗留问题和为权限设置角色以及EasyUI Tabs的使用 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo ...

  9. EasyUI Tabs + Yii2.0实现iframe方式打开页面(解决共用静态文件引入加载的问题)

    在项目实际开发中,有将打开的各个链接页面隔离的需求(防止静态资源起冲突),这个时候常规思路就是使用iframe来实现!但遇到一个比较棘手的问题,当用easyui Tabs打开一个iframe页面时,怎 ...

随机推荐

  1. HDU 4606 Occupy Cities (计算几何+最短路+二分+最小路径覆盖)

    Occupy Cities Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  2. Centos:mysql的安装和使用:yum方式

    1.安装: 安装客户端 sudo yum install mysql 安装服务器 sudo yum install mysql-server 2.配置:查看配置文件 cat /etc/my.cnf 3 ...

  3. PHP5实现foreach语言结构遍历一个类的实例

    PHP5实现foreach语言结构遍历一个类 创建一个类集成Iterator接口,并实现Iterator里面的方法即可,下面见实例代码实现 <?php class Test implements ...

  4. Microsoft.VisualC 命名空间包含支持用 c + + 语言的代码生成和编译的类。 混合编程中使用COM接口指针

    Microsoft.VisualC 命名空间包含支持用 c + + 语言的代码生成和编译的类. Microsoft.VisualC.StlClr Unmanaged Code 和 Managed Co ...

  5. [Typescript] Improve Readability with TypeScript Numeric Separators when working with Large Numbers

    When looking at large numbers in code (such as 1800000) it’s oftentimes difficult for the human eye ...

  6. Codeforces 553B Kyoya and Permutation

    problem 题意 本题题意不太easy看懂. 给定一个序列,我们能够把这个序列变成一些循环置换的和.然而这样的置换的方法是不止一种的.我们定义一种standard cyclic represent ...

  7. 绘制 SVG

    工具网址:http://svg123.com/ 画布 点击画布,在页面的右侧我们可以调整画布属性 点击属性,滚动滑轮可以微调 或者直接双击修改属性值 工具栏 左侧工具栏 就像画图的工具栏一样 形状库 ...

  8. 【Excle】两个表格多列数据对比,找出差异

    现在有表格如下,差异A中的红色标记为区域1在区域2中找不到对应的值,差异B中的红色标记为区域2在区域1中找不到对应的值 那么怎么去查找呢? 这里用到COUNTIF跟数组公式 C3=SUM(COUNTI ...

  9. outline轮廓线在不同CSS样式下的表现

    outline轮廓线在不同CSS样式下的表现 CSS 去除浏览器默认 轮廓外框 在默认情况下,点击 a 标签,input,或者添加click事件的时候,浏览器留下一个轮廓外框(chrome之下为蓝色) ...

  10. C# 播放H264裸码流

    要播放H264裸码流,可以分拆为以下三个工作: 1.解码H264裸码流获取YUV数据 2.将YUV数据转换为RGB数据填充图片 3.将获取的图片进行显示 要完成工作1,我们可以直接使用海思的解码库,由 ...