【EasyUI】Tabs常用操作及href和content的异同
说明:EasyUI版本1.3.4 ,jQuery版本1.8.3
EasyUI Tabs常见使用方式
按照官方文档的说法,创建Tabs的方式有两种:
- 静态页面标签
- 动态JS代码
静态方式主要用于创建一些内容固定的Tabs,而动态方式通常用来导入Ajax请求返回的内容或者嵌入其他已存在页面。
我个人觉得创建并使用Tabs的方式其实只有一种,那就是先创建装载选项卡的容器,然后在容器中放入具体的选项卡,至于你怎么放,就是官方给出的静态和动态两种方式了。
创建容器:
- <div id="data_tabs" data-options="fit:true,border:false,tabWidth:110,tabHeight:25" class="easyui-tabs"> </div>
添加选项卡到容器
1、静态页面标签
- <div id="tt" class="easyui-tabs" style="width:500px;height:250px;">
- <div title="Tab1" style="padding:20px;display:none;">
- tab1
- </div>
- <div title="Tab2" data-options="closable:true" style="overflow:auto;padding:20px;display:none;">
- tab2
- </div>
- <div title="Tab3" data-options="iconCls:'icon-reload',closable:true" style="padding:20px;display:none;">
- tab3
- </div>
- </div>
2、动态JS代码
- $('#tt').tabs('add',{
- title:'New Tab',
- content:'Tab Body',
- closable:true,
- tools:[{
- iconCls:'icon-mini-refresh',
- handler:function(){
- alert('refresh');
- }
- }]
- });
个人觉得,JS动态添加选项卡的情况会比较多,比如创建下面这样的Tabs,内容是从其他页面导入并动态更新的
如果在页面上创建,扩展起来不方便,并且同时还需要在JS中使用Tabs的update功能,如果动态添加就会很方便,具体实现的代码如下:
- <div id="data_tabs" data-options="fit:true,border:false,tabWidth:110,tabHeight:25" class="easyui-tabs">
- <div title=””></div>
- <div title=””></div>
- <div title=””></div>
- …
- </div>
- //点击页面之后更新每个tab的内容,用到onSelect事件
- $(document).ready(function(){
- $(“#data_tabs”).tabs({
- onSelect:function(title, index){
- …
- }
- });
- });
- var t = $(“#data_tabs”);
- var mytab = t.tabs('getSelected'); // 获取选择的面板
- t.tabs('update', {
- tab: mytab,
- options: {
- title: title,
- content: mycontent // 新内容的URL
- }
- });
首先在页面上创建一个Tabs容器
- <div id="data_tabs" data-options="fit:true,border:false,tabWidth:110,tabHeight:25" class="easyui-tabs"></div>
然后把所有选项卡的title和url信息保存在对象中,需要扩展就给这个对象添加title和url
- var userName = $("#userName").val();
- var userId = $("#userId").val();
- var titleAndUrls = {
- "大区" : "",
- "品牌" : BasePath+"/authority_user_brand/listtwo?moduleId=1&userName=" + userName + "&userId=" + userId,
- "管理城市" : "",
- "经营城市" : BasePath+"/authority_user_managing_city/listtwo?moduleId=1&userName=" + userName + "&userId=" + userId,
- "订货单位" : BasePath+"/authority_user_order_unit/listtwo?moduleId=1&userName=" + userName + "&userId=" + userId,
- "结算公司" : BasePath+"/authority_user_settlement_company/listtwo?moduleId=1&userName=" + userName + "&userId=" + userId,
- "店铺" : BasePath+"/authority_user_store/listtwo?moduleId=1&userName=" + userName + "&userId=" + userId,
- "仓库" : BasePath+"/authority_user_storage/listtwo?moduleId=1&userName=" + userName + "&userId=" + userId
- };
然后再遍历这个对象创建出所有的tabs
- //遍历titleAndUrls并创建所有tab
- $.each(titleAndUrls, function(title, url){
- user_data_auth.createTab(title, url);
- });
- //用title和url创建tab
- user_data_auth.createTab = function (title, url) {
- var content = '<iframe src="' + url + '" frameborder="0" border="0" marginwidth="0" marginheight="0" scrolling="yes" width="100%" height="100%"
- $('#data_tabs').tabs('add', {
- title : title,
- selected : false,
- closable : false,
- content : content
- });
- };
如果需要创建完之后默认选中第一个,可以使用EasyUI Tabs的select函数
- //初始化第一个tab
- $('#data_tabs').tabs("select", 0);
url和content的异同
add或者update一个选项卡的时候,可以通过指定url属性或者content属性来嵌入其他页面内容
使用url:嵌入的其他页面和本页面处于同一个作用域,也就是说,本页面的和导入的JS方法不能有命名冲突,标签的id也不能冲突,而且导入的页面不能有body和html标签,仅仅作为一个内容子页面,此时导入页面的JS代码可以在本页面一起引入,也可以在导入页面的底部引入
使用content:嵌入时可以使用iframe标签,也就是说你可以嵌入任意你想嵌入的内容而不受任何限制,但是嵌入完整页面会造成一定程度的资源浪费,比如同样一个js文件需要被两次或多次请求
【EasyUI】Tabs常用操作及href和content的异同的更多相关文章
- JQuery EasyUI DataGrid常用操作及注意事项(未完)
1.获取当前选中行,如果没有选中行,则返回 null var row = $('#gridID').datagrid('getSelected'); 2.获取当前所有选中行数据,返回的是选择的数组数据 ...
- easyui api常用操作
一.FORM表单类 一.textbox validatebox 验证 1.验证规则:validType : 验证规则,类型STRING|ARRAY:1个规则就直接一个字符串,多个规则写在数组里 例如: ...
- 解决easyui tabs中href无法跨域跳转
<!DOCTYPE HTML> <html> <head> <meta http-equiv="content-type" content ...
- Easyui tabs的herf和content属性
在backstage.jsp页面中我写了一个方法,用于在指定位置添加面板(id为msg的地方)function addTab(t,h){ if($('#msg').tabs('exists',t)){ ...
- 关于html中的 script标签中的 代码写法有效性? easyui tabs的href不能载入内容页面
script标签, 即 html中的 js脚本区域中: 它其实就是一个 普通的 html标签, 在 html 渲染器 parser 看来, 它跟其他任何的普通 的 html标签 , 比如 p 标签, ...
- 布局-EasyUI Panel 面板、EasyUI Tabs 标签页/选项卡、EasyUI Accordion 折叠面板、EasyUI Layout 布局
EasyUI Panel 面板 通过 $.fn.panel.defaults 重写默认的 defaults. 面板(panel)当做其他内容的容器使用.它是创建其他组件(比如:Layout 布局.Ta ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(23)-设置角色遗留问题和为权限设置角色以及EasyUI Tabs的使用
ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框架搭建 (2):数据库访问层的设计Demo (3):面向接口编程 (4 ):业务逻辑层的封装 ...
- 设置角色遗留问题和为权限设置角色以及EasyUI Tabs的使用
设置角色遗留问题和为权限设置角色以及EasyUI Tabs的使用 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框架搭建 (2):数据库访问层的设计Demo ...
- EasyUI Tabs + Yii2.0实现iframe方式打开页面(解决共用静态文件引入加载的问题)
在项目实际开发中,有将打开的各个链接页面隔离的需求(防止静态资源起冲突),这个时候常规思路就是使用iframe来实现!但遇到一个比较棘手的问题,当用easyui Tabs打开一个iframe页面时,怎 ...
随机推荐
- WCF服务全局统一异常处理机制
转载:http://www.csframework.com/archive/1/arc-1-20150109-2193.htm 服务端增加WCF服务全局异常处理机制,任一WCF服务或接口方式出现异常, ...
- 针对标签中设置 disabled="true",$("#id").serialize()获取不到value的解决方法
今天给<select>增加disabled="true", 发现$("#form").serialize()的结果不包含select标签的值,解决办 ...
- ylbtech-dbs-m-ele(饿了么)
ylbtech-dbs:ylbtech-m-ele(饿了么) -- =============================================-- DatabaseName:Ele - ...
- Actionscript 3 自定义 matedata
metadata就是元数据 反应一个类本质的属性 可以通过describeType(obj)来得到反应该对象的xml 要自定义元数据,如[MyMatedata()] package { public ...
- Android实现二维码扫描登录网页
之前写过一个二维码扫描demo,用的Zxing的框架,点击下载.兴许扫描二维码中出现一些问题,比方解决压缩图片.调整扫描窗体大小等等. 兴许单位要求做扫描登录实现,发现难点就是怎么知道你扫描的 ...
- Laravel 5系列教程四:数据库和Eloquent
免费视频教程地址https://laravist.com/series/laravel-5-basic 上一篇写了一些Laravel Blade的基本用法和给视图传递变量的几种方式, 这一节我们来说说 ...
- 转: Android微信智能心跳方案
http://mp.weixin.qq.com/s?__biz=MzAwNDY1ODY2OQ==&mid=207243549&idx=1&sn=4ebe4beb8123f1b5 ...
- Node.js meitulu图片批量下载爬虫1.02版
以前版本需要先查看网页源码,然后肉眼找到图片数量和子目录,虽说不费事,但多少有点不方便. 于是修改了一下,用cheerio自己去找找到图片数量和子目录,只要修改页面地址就行了.至此社会又前进了一步. ...
- IT痴汉的工作现状21-Android开发前景论
饭间闲谈 齐天.周权和我是饭搭子.总是边吃边聊一些与技术.汽车和女人相关的话题. "前阵子Nokia裁员之事不知道完没完?这艾洛普挺能作啊."我吃着香喷喷的过桥米线说." ...
- Spine U3D整合流程问题
Spine U3D整合流程问题 What: 公司2d项目开发,动画外包的spine.本来在spine里面一切正常,但是导入u3d运行库的时候动画切换的时候原来的动画是好的,一旦切换了就乱帧了. 如下结 ...