2011-07-19 20 views
7

में बाल तत्व कैसे प्राप्त करें ExtJS 4 में किसी भी पैनल के सभी बच्चे तत्व या आईडी कैसे प्राप्त करें?ExtJS 4

उत्तर

15

मैंने आपके लिए यह फ़ंक्शन लिखा था। मुझे लगता है कि यह आपकी मदद करेगा।

 
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; 
} 
यह पैरामीटर के रूप में पैनल (कंटेनर) लेता है और सभी बच्चों और उपनिवेशियों को बार-बार लौटाता है।

EDIT यह बच्चों की आईडी वापस कर देगा। का उपयोग करता है पिछले फंक्शन - 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

धन्यवाद ज़ैंगो, आपका कोड ठीक काम कर रहा है लेकिन मुझे पैनल के प्रत्येक बच्चे तत्व की आईडी चाहिए। लेकिन उसमें समस्या का सामना करना पड़ रहा है। – Kunal

+0

धन्यवाद ज़ैंगो, यह काम करता है। – Kunal

10

बस अपने पैनल पर क्वेरी(), जो सभी बच्चे तत्व है जो एक वैकल्पिक चयनकर्ता से मेल की एक सरणी वापस आ जाएगी कहते हैं। i.e. panel.query()

+0

स्वीकार किए गए एक से बेहतर जवाब। –

+0

इसे सही उत्तर के रूप में स्वीकार किया जाना चाहिए। – MarthyM

संबंधित मुद्दे