日期:2014-05-16  浏览次数:20814 次

关于EXTJS,items一个奇怪的问题
我的panel(id:'mainpanel')里面有一个items,items里面有4个panel,id分别是‘p1’,‘p2’,‘p3’,‘p4’.
我用一个按钮,还获取items里面的panel对象。
handler:function(){
   var items=Ext.getCmp('mainpanel').items;
   alert(items.first().id);
   alert(items.last().id);
}
这样就可以取得第一和最后一个panel的id;
但是我用alert(items[0].id);......alert(items[3].id);
却没反应!!
我现在想取得第二和第三个panel的ID,要怎么取呢?
请高手赐教!!

------解决方案--------------------
Ext.iterator(items,function(key,value,obj){},this)
有问题接着问。

 var p = new Ext.Panel({
        title: 'My Panel',
        collapsible:true,
        renderTo: Ext.getBody(),
        width:400,
        html: 'how to iterate panel items',
items:[
{
xtype:'panel',
id:'_p1',
title:'panel_1'
},
{
xtype:'panel',
id:'_p2',
title:'panel_2'
},{
xtype:'panel',
id:'_p3',
title:'panel_3'
}
],
buttons:[
{
text:'iterItem',
handler:function(b,e){
var p=b.ownerCt.ownerCt;
var itemsObj = p.items.map
Ext.iterate(p.items.map, function(key,value,obj){ 
//do stuff 
alert(value.id)
},this)
}
}
]
    });

------解决方案--------------------
本帖最后由 showbo 于 2013-04-12 14:30:13 编辑
p.items.getAt(1).id
或者p.items.items[0].id

items属性不是数组。。是对象。修改红色部分的下标