`

关于easyUI在子页面增加显示tabs的一个问题

阅读更多

在父页面点个链接能动态看到子页面的情况太简单,请看easyUI官网:http://www.jeasyui.com/tutorial/layout/tabs2.php
现在说的是在子页面点个按钮也能触发增加子页面的情况。
情景是,在父页面上有个div如:

<div class="easyui-tabs" id="main" fit="true" border="false">
  <div title="Welcome" iconCls="icon-page" style="padding:20px;overflow:hidden;">  
  </div>
</div>

 在子页面上有个

<a href="#" class="easyui-linkbutton" iconCls="icon-edit" plain="true" onclick="testAddSubPage('new tab','http://www.baidu.com')">test add subpage</a>	
	

 现在想点这个链接能弹出一个新的tab,tab里面的内容是百度主页。关键的问题来了,就是testAddSubPage这个function怎么写。

 

直接这样写是不行的:

function testAddSubPage(title,url){
			
			var parentMain = window.parent.document.getElementById("main");
			
			var $main = $(parentMain);
			
			var content = '<iframe scrolling="auto" frameborder="0"  src="'+url+'" style="width:100%;height:100%;"></iframe>'; 
			$main.tabs('add',{
					title:title,
					content:content,
					closable:true
				}
			);
			
		}

 这里虽然可以取到父页面那个id为main的div对象,但是把这个dom对象转化为jquery对象$main之后,$main.tabs('add',{...})这个方法死法报错不能通过。

改正的关键是用top.jQuery这个函数,这个函数具体出外我忘记了,用法看似是取得整个父页面对象,正确是写法:

function testAddSubPage(title,url){  
            
            var jq = top.jQuery;  
      
            if (jq("#main").tabs('exists', title)){  
                jq("#main").tabs('select', title);  
            } else {
                  var content = '<iframe scrolling="auto" frameborder="0"  src="'+url+'" style="width:100%;height:100%;"></iframe>';   
                   jq("#main").tabs('add',{  
                                      title:title,  
                                      content:content,  
                                      closable:true  
                                    });  
             }  
        }  

 

这样,在子页面点击test add subpage这个链接之后,就会根据传入的url弹出另一个子页面,这里是百度。

 

 

 

  • 大小: 23.8 KB
  • 大小: 48.8 KB
分享到:
评论
8 楼 ganbo 2016-07-06  
也解决了我的问题,楼主 。。。
7 楼 glw_anubis 2015-07-09  
虽然不明所以,但照着博主的方法确实实现了,谢谢.
6 楼 u011279706 2015-05-20  
非常感谢lz...
5 楼 zweichxu 2014-12-23  
既然你是用iframe来加载子页面的,那在子页面里可以直接引入jquery文件的。
如果在子页面引用了jquery,则在子页面添加tab的话,不需要用top.jQuery来引用父页面的jQuery对象。当然如果子页面用不到jQuery,可以用top.jQuery来引用父页面的jQuery对象。
4 楼 jinglinglei 2014-08-20  
请问var jq = top.jQuery;这句话什么意思,top是什么?
3 楼 hzw2312 2014-03-31  
正确!
2 楼 cr135810 2014-03-27  
正需要这功能呢
1 楼 Scorpiozc 2013-12-14  
正在找解决子页添加tab的方法。

相关推荐

    手把手教你制作easyUI工作站,主要学习tabs方法

    在本文中,我们将深入探讨如何使用EasyUI框架创建一个具备tabs功能的工作站。EasyUI是一个基于jQuery的用户界面插件集合,它为开发者提供了丰富的组件和便捷的API,以简化Web应用的界面开发。让我们逐步了解如何利用...

    easyui iframe 页面重复加载的问题

    easyui的tab组件允许开发者在页面中以标签页的方式组织内容,每个标签页对应一个页面片段。一般情况下,这些页面片段是直接作为HTML内容存在,通过Ajax动态获取,或者通过easyui的content方法加载。但当使用iframe...

    标签(Tabs)实现多页面切换

    总之,“标签(Tabs)实现多页面切换”是Web开发中的一个重要技能,它结合了Ajax和JavaScript的力量,提供了流畅的用户体验。理解这一技术可以帮助开发者创建更高效、更用户友好的网页应用。通过不断实践和优化,我们...

    JavaScript提高:005:ASP.NET使用easyUI TABS标签显示问题

    在本主题"JavaScript提高:005:ASP.NET使用easyUI TABS标签显示问题"中,我们将深入探讨如何在ASP.NET项目中正确使用EasyUI的TABS组件,并解决可能出现的显示问题。 EasyUI是一个基于jQuery的UI框架,提供了丰富的...

    扩展EasyUI tabs 组件,加载tab页时添加遮罩

    标题"扩展EasyUI tabs 组件,加载tab页时添加遮罩"指出了我们将在EasyUI的tabs组件上进行自定义,以便在新tab页内容加载期间显示一个遮罩层。遮罩层是一种常见的视觉提示,用于告知用户页面正在处理数据或加载内容,...

    EasyUI tutorial 中文版 chm

    使用easyUI创建一个border layout在你的web页面 使用easyUI在panel中创建复杂布局 使用easyUI创建折叠面板 使用easyUI创建Tabs标签 使用easyui创建tabs组件和动态添加 使用easyUI创建一个自动播放的tabs ...

    jQuery EasyUI 实例演示(菜单、TAB等)

    例如,使用 `&lt;div class="easyui-menu" id="mm"&gt;&lt;/div&gt;` 创建一个空的菜单容器,然后通过 `$(#mm).menu({items: [...]})` 添加菜单项,每个菜单项可以包含子菜单。 接着是TAB页的使用。在网页设计中,TAB页常用于...

    利用EasyUi和C#实现手风琴式菜单、tabs和datagrid的完整代码,MVC模式,带数据库

    在MVC项目中,你可以为每个tab创建一个部分视图,这些视图分别负责显示不同的数据。同样,这些数据可以通过jQuery的AJAX方法异步加载,这样可以提高页面加载速度并提供更好的用户体验。 datagrid(数据网格)是展示...

    jQuery easyui后台管理页面tab布局样式代码

    Tab布局是jQuery EasyUI中的一个重要特性,它允许在一个页面上展示多个并行的内容区域,每个区域被一个标签页所代表,用户可以通过点击不同的标签来切换显示的内容。这种布局方式常用于后台管理系统,因为它可以有效...

    jQuery easyui刷新当前tabs的方法

    jQuery EasyUI提供了一个简洁的API来实现这一功能,主要涉及`tabs`组件的`update`方法。这篇文章将深入探讨如何使用这个方法以及相关的`param`参数。 首先,我们要理解`tabs`组件是jQuery EasyUI中的一个核心组件,...

    EasyUI tabs添加右键关闭菜单

    在本主题“EasyUI tabs 添加右键关闭菜单”中,我们将探讨如何为 EasyUI 的 tabs 组件添加自定义的右键菜单,实现点击右键时出现一个包含“关闭当前标签页”选项的菜单。 首先,我们需要了解 EasyUI 的 tabs 组件的...

    easyui页面布局示例

    EasyUI 是一个基于 jQuery 的 UI 框架,它提供了丰富的组件...总的来说,EasyUI 提供了一种高效的方法来快速构建专业级的前端界面,而“easyui页面布局示例”则是一个很好的起点,帮助开发者理解其基本用法和工作流程。

    jquery+easyUI搭建页面

    接下来,EasyUI是一个基于jQuery的前端UI框架,它提供了丰富的组件和主题,使得开发者可以快速构建美观且响应式的用户界面。在"easy"主页界面的构建中,EasyUI可以提供以下帮助: 1. **布局管理**:EasyUI提供了多种...

    easyui写的前台完整管理界面

    在EasyUI中,我们可以使用`&lt;div class="easyui-tabs"&gt;`容器来创建一个tabs面板,每个tab页由一个`&lt;div&gt;`子元素表示,通过`title`属性定义标签页的标题,而子元素的内容就是该标签页显示的信息。点击菜单时动态添加...

    EasyuiTabs异步加载页面

    在 Easyui 中,`Tabs` 组件是一个常用的功能,用于展示多个页面或内容在一个分页容器中,类似于浏览器的标签页。 标题 "EasyuiTabs异步加载页面" 指的是使用 Easyui 的 `Tabs` 组件时,采用异步方式加载每个标签页...

    EasyUI使用的demo

    这个名为"EasyUI使用的demo"的项目是为初学者准备的一个实例,它展示了EasyUI在实际应用中的基本用法,包括系统布局、数据操作以及窗口间通信等多个方面。 1. **整体布局**:EasyUI提供了多种布局模式,如`grid`、`...

    easyui使用datagrid定制生成一个table

    - **自动增加新行**:通过设置 `CanUserAddRows` 属性为 `true`,DataGrid 在每行编辑结束后自动添加新行。 - 示例代码: ```csharp dataGrid1.CanUserAddRows = true; ``` - **手动处理新增行**:通过监听 `...

    easyui demo

    另一方面,"添加 tabs"是指EasyUI的标签页(Tabs)组件,它允许在一个页面上展示多个内容区域,并且可以通过切换标签来轻松地在这些区域间导航。创建一个tabs,你可以用`&lt;div class="easyui-tabs"&gt;`包裹住各个tab...

    EasyUi tabs的高度与宽度根据IE窗口的变化自适应代码

    在这个例子中,`#tabs` 是一个包含两个子 `div` 的容器,每个子 `div` 都代表一个 tab 标签页。`easyui-tabs` 类是 EasyUi 为 tabs 组件定义的样式类,它将为这些元素提供默认的样式和行为。 在 Google Chrome 等...

    easyui icon图标扩展库,包含上百个icon图标

    在 EasyUI 中,标签页是一个常用的布局组件,用于展示多个相关的页面或视图。通过这个扩展,开发者可以为各个标签设置独特的图标,增加功能区分度,使得用户能更直观地识别每个标签页的内容。 使用 EasyUI 的图标...

Global site tag (gtag.js) - Google Analytics