2011-07-19 29 views

Respuesta

15

Escribí esa función para usted. Creo que te ayudará.

 
function getAllChildren (panel) { 
    /*Get children of passed panel or an empty array if it doesn't have thems.*/ 
    var children = panel.items ? panel.items.items : []; 
    /*For each child get their children and concatenate to result.*/ 
    Ext.each(children, function (child) { 
    children = children.concat(getAllChildren(child)); 
    }) 
    return children; 
} 
Toma el panel (contenedor) como parámetro y devuelve todos los elementos secundarios y secundarios de manera recursiva.

EDIT Esto devolverá las identificaciones de los niños. utiliza la función ANTERIOR - getAllChilden

function getAllChildenIds(panel) { 
    //*Get all child items. \*/ 
var children = getAllChilden(panel); 
//*Replace items with their ids.\*/ 
for (var i=0, l=children.length; i < l; i++) { 
    children[i] = children[i].getId(); 
} 
return children; 
} 
+0

Gracias Zango, su código funciona bien, pero quiero la identificación de cada elemento secundario del panel. pero enfrentando un problema en eso. – Kunal

+0

Gracias Zango, funciona. – Kunal

10

Sólo tiene que llamar consulta() en el panel que va a devolver una matriz de todos los elementos secundarios que se ajustan a un selector opcional. es decir panel.query()

+0

Una respuesta mucho mejor que la aceptada. –

+0

Esto debe aceptarse como la respuesta correcta. – MarthyM