Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript extjs3.4:如何访问面板中没有id/itemId的项_Javascript_Extjs_Dynamic_Tree_Extjs3 - Fatal编程技术网

Javascript extjs3.4:如何访问面板中没有id/itemId的项

Javascript extjs3.4:如何访问面板中没有id/itemId的项,javascript,extjs,dynamic,tree,extjs3,Javascript,Extjs,Dynamic,Tree,Extjs3,我刚开始使用ExtJS3.4版本。当没有id或itemId分配给面板时,我不确定如何访问面板中的项目。我以前使用过ExtJS4.2,但现在我需要使用3.4版本 在我的例子中,我在这里使用边框布局。我在东部区域有一个树面板,在中部区域有一个选项卡面板。我想根据单击的树节点,使用网格或表格动态更新中心区域 这是我的tabpanel代码 { xtype : 'tabpanel', title : 'Cent

我刚开始使用ExtJS3.4版本。当没有id或itemId分配给面板时,我不确定如何访问面板中的项目。我以前使用过ExtJS4.2,但现在我需要使用3.4版本

在我的例子中,我在这里使用边框布局。我在东部区域有一个树面板,在中部区域有一个选项卡面板。我想根据单击的树节点,使用网格或表格动态更新中心区域

这是我的tabpanel代码

{
                        xtype : 'tabpanel',
                        title : 'Center Panel',
                        width : 200,
                        region : 'center',
                        items:[gridpnl]
}
这是我试过的完整代码 第一个ExtJs页面 Ext.onReady(函数(){

Ext.namespace('Class');
Class.create=函数(){
返回this.init(config);
}
};
Ext.namespace('FirstOOPS');
FirstOOPS=Class.create();
FirstOOPS.prototype={
初始化:函数(配置){
var store=new Ext.data.ArrayStore({
字段:[{name:'C1'},{name:'C3'},{name:'C5'}]
});
var myData=['abcdC11'、'C3'、'C5']、['asdf'、'C3_asdf'、'C5_asdf']
store.loadData(myData);
var gridpnl=new Ext.grid.GridPanel({
布局:“适合”,
身高:500,
宽度:500,
店:店,,
栏目:[
{标题:“C1”,数据索引:“C1'},
{标题:“C3”,数据索引:“C3'},
{标题:“C5”,数据索引:“C5'}
]
});
var主面板=新的外部面板({
布局:“边框”,
项目:[
{
地区:'东',
可折叠的:是的,
标题:“导航”,
xtype:'树面板',
宽度:200,
autoScroll:是的,
斯普利特:是的,
加载程序:新的Ext.tree.TreeLoader(),
根:新的Ext.tree.AsyncTreeNode({
对,,
儿童:[{
文本:“网格”,
叶:是的
}, {
文本:“表格”,
叶:是的
}]
}),
rootVisible:false,
听众:{
单击:函数(n){
如果(n.text=='Grid'){
Ext.Msg.alert(n.text);
}
}
}
},{
xtype:'tabpanel',
标题:“中心面板”,
宽度:200,
地区:'中心',
项目:[gridpnl]
}
]
});
新外部视口({
布局:“适合”,
项目:[主面板]
});   
}
};
var firstObj=新的FirstOOPS();
});
有没有人可以告诉我如何在没有id的情况下访问此选项卡,以便我可以动态更新tabpanel或基于树节点单击创建新选项卡


提前感谢

您可以使用以下代码访问tabpanel,而无需使用id或items id

this.up().items.items[1]
为了测试上述代码,我通过以下代码提醒选项卡面板的标题

      alert(this.up().items.items[1].title);

它将提醒选项卡面板的标题

谢谢..您能告诉我这指的是什么吗。。?我在treepanel listener中放置了相同的警报消息..但我收到的错误是,undefined不是一个函数这将引用当前对象,而这个.up()将引用父对象。。将此.up()放入console.log并签入firefug
      alert(this.up().items.items[1].title);