0 0

请教dijit.layout.TabContainer select 切换子pane的问题5

在jodo1.3.2(最新)环境下,
先建立一个dijit.layout.TabContainer,内有三个contentPane,如下:
    <div id="maintab" dojoType="dijit.layout.TabContainer"
splitter="true" region="center" tabPosition="top" tabStrip="true">
        <div dojoType="dijit.layout.ContentPane" title="tab #1"
id="tab1" style="display: none">
            tab pane #1
        </div>
        <div dojoType="dijit.layout.ContentPane" title="tab #2"
id="tab2" selected="true" style="display: none">
            tab pane #2
        </div>
        <div dojoType="dijit.layout.ContentPane" title="tab #3"
id="tab3" style="display: none">
            tab pane #3
        </div>
    </div>

现在不想通过鼠标点击ContentPane方式切换tab,而是用另外三个button一一对应上面的每个ContentPane,点击一个button,就能在tabContainer上切换到对应的ContentPane上。现在能做到使他们能关联上,能拿到TabContainer和ContentPane的id,想问的是:如何通过代码方式(具体就是一个onClick button event处理方法中)实现tabContainer去select并且呈现tabPane的内容?个人觉得应该是利用到tabContainer的某个api,但一直未找到。如果此方法行不通,还有没有其他解决方式

在网上找到很多方式,ff均报tabContainer没有这样的api,比如selectChild,showChild方法等。
2009年8月17日 11:29

2个答案 按时间排序 按投票排序

0 0

TabContainer继承自StackContainer,而StackContainer有selectChild方法(参见StackContainer.js),参数就是ContentPane的id。所以结论就是:TabContainer有selectChild方法

dojo.declare("dijit.layout.TabContainer",[dijit.layout.StackContainer, dijit._Templated],{//...});

selectChild: function(/*Widget*/ page){
		page = dijit.byId(page);
		if(this.selectedChildWidget != page){
			// Deselect old page and select new one
			this._transition(page, this.selectedChildWidget);
			this.selectedChildWidget = page;
			dojo.publish(this.id+"-selectChild", [page]);

			if(this.persist){
				dojo.cookie(this.id + "_selectedChild", this.selectedChildWidget.id);
			}
		}
	}

2009年8月19日 21:53
0 0

doji...真难得...有多久没在问答看到doji的问题了..

2009年8月18日 14:57

相关推荐

    dojo 树形列表 dijit.tree

    Dijit是Dojo Toolkit的一部分,专门提供了一系列可复用的UI控件,其中包括我们关注的“dijit.tree”,即树形列表。在本篇文章中,我们将深入探讨这五个关于dijit.tree的例子,并了解如何在实际应用中实现它们。 1. ...

    Dojo_digitDemo1

    如何使用dojo的digit组件, dojo.require("dijit.layout.ContentPane");... dojo.require("dijit.layout.TabContainer"); dojo.require("dijit.form.ValidationTextBox"); dojo.require("dijit.form.DateTextBox");

    水经注离线谷歌卫星地图加载服务中间件调用示例 For ArcGIS JS API.docx

    同时,编写JavaScript代码来初始化地图和加载所需的模块,如`esri.map`、`dijit.layout.BorderContainer`和`dijit.layout.ContentPane`。 以下是一个简单的JavaScript示例,用于创建地图实例: ```javascript dojo...

    dojo生命周期

    `dijit._Container`类则提供了管理子组件的功能,如添加、移除子组件,获取子组件列表等。需要注意,`dijit._Container`只能包含继承自`dijit._Widget`的组件,而非普通的DOM元素。 Dojo 使用`dijit.registry`来...

    dojo精品中文教程(包一)

    Dojo学习笔记--dijit.Dialog Dojo学习笔记--dijit.Menu Dojo学习笔记--dijit.TitlePane Dojo学习笔记--dijit.Tooltip Dojo学习笔记--dijit.Tree Dojo学习笔记--dojo.graphics.color & dojo.uri.Uri Dojo学习...

    dojo精品中文教程(包二)

    Dojo学习笔记--dijit.Dialog Dojo学习笔记--dijit.Menu Dojo学习笔记--dijit.TitlePane Dojo学习笔记--dijit.Tooltip Dojo学习笔记--dijit.Tree Dojo学习笔记--dojo.graphics.color & dojo.uri.Uri Dojo学习...

    dojo精品中文教程(包三)

    Dojo学习笔记--dijit.Dialog Dojo学习笔记--dijit.Menu Dojo学习笔记--dijit.TitlePane Dojo学习笔记--dijit.Tooltip Dojo学习笔记--dijit.Tree Dojo学习笔记--dojo.graphics.color & dojo.uri.Uri Dojo学习...

    dojo精品中文教程(全)

    Dojo学习笔记--dijit.Dialog Dojo学习笔记--dijit.Menu Dojo学习笔记--dijit.TitlePane Dojo学习笔记--dijit.Tooltip Dojo学习笔记--dijit.Tree Dojo学习笔记--dojo.graphics.color & dojo.uri.Uri Dojo学习...

    定义自己的dojo组件类

    dojo.declare("my.custom.AccordionPane", [dijit.layout.AccordionPane], { // 新增或修改的属性和方法 }); ``` ### 4. Widget 的生命周期 每个 Dojo widget 都有一系列生命周期方法,如 `postCreate`、`startup`...

    arcgis_javascript实现鹰眼功能实例

    dojo.require("dijit.layout.BorderContainer"); dojo.require("dijit.layout.ContentPane"); dojo.require("esri.map"); dojo.require("esri.dijit.OverviewMap"); dojo.require("esri.dijit.Scalebar"); /...

    learning dojo -chapter 6 layout

    var bc = new dijit.layout.BorderContainer({ design: 'headline', // 设计样式 gutters: true // 是否显示分割线 }); bc.placeAt('contentDiv'); // 将其放置在页面的某个位置 bc.startup(); // 启动组件 // ...

    Dojo教程

    常见的Dojo部件有dijit.form.Button(按钮)、dijit.layout.ContentPane(内容面板)和dijit.Dialog(对话框)等。 DojoInPractice_cn.pdf 可能是一本关于Dojo实战的中文教程,其中可能涵盖了如何在实际项目中运用...

    dojo checkbox tree

    利用dojo的ajax实现树结构,带有checkbox功能

    DOJO 0.4.3

    例如,`dijit.form.Button`用于创建交互式按钮,`dijit.Dialog`则可以创建弹出式对话框。 4. **消息机制** DOJO 包含了消息传递和状态管理的机制。例如,`dojo.publish`和`dojo.subscribe`分别用于发布和订阅消息...

    DOJO API 中文参考手册,附加注解实例(精心重新排版DOC文档)

    Dijit提供了一系列的表单控件(dijit.forms)和页面布局组件(dijit.layout),以及像dijit.popup这样的包,用于弹出窗口式的Widget使用。DojoX包含了如dojox.charting用于绘制统计图表,dojox.collections提供集合...

    DOJO_API_中文参考手册 附加注释实例

    - dijit.layout:页面布局Widget库。 - dijit.popup:以弹出窗口方式使用Widget的包。 - dojox.charting:绘制统计图表的工具包。 - dojox.collections:提供了实用的集合数据结构,如List、Query、Set、Stack、...

    dojo树实例

    menu.addChild(new dijit.MenuItem({label: "添加", onClick: function(){...}})); menu.addChild(new dijit.MenuItem({label: "删除", onClick: function(){...}})); // 其他操作... menu.popup(evt.pageX, evt...

    Xpage学习笔记

    - **通过插入标签生成 dojo 按钮**:可以手动创建 `&lt;div&gt;` 并指定 `dojoType="dijit.form.Button"`。 - **使用 xpage 按钮控件**:可以直接使用 `&lt;xp:button&gt;` 标签,更加方便。 - **在按钮控件上使用事件处理程序...

    domino xpags开发combobox可手动输入

    这行代码会引入dijit.form.ComboBox模块,使得XPage能够识别并使用ComboBox控件。 接下来,我们创建ComboBox控件本身。在页面中添加以下XML代码: ```xml id="comboBox1" value="#{sessionScope.Test}" ...

Global site tag (gtag.js) - Google Analytics