2010-11-12 2 views
4

У меня есть страница ExtJS, которая выводит следующую DOM.Как выбрать элементы в ExtJS?

Я хочу выбрать конкретный элемент, чтобы я мог ответить на него щелчком.

Однако в следующем коде никогда не были выбраны элементы, созданные с помощью библиотеки extJS. JQuery также не может выбрать их.

ExtJS не может даже найти элемент, определенный в элементе <body> в самом файле HTML. Однако JQuery действительно может выбрать элемент, определенный в элементе <body>.

Я читал this guide, которые, кажется, указывают, что не должно быть никаких проблем, чтобы просто использовать Ext.get() и Ext.select(), чтобы получить элементы, однако, как показано в следующем коде, элементы никогда не выбраны.

Как выбрать элемент в ExtJS?

var members = Ext.select('x-panel'); 
for (var i = members.length - 1; i >= 0; i--){ 
    element = members[i]; 
    element.on('click', function() { alert('test');}) 
}; 

alt text alt text

ответ

4

Попробуйте Ext.select('.x-panel') с периодом в селекторе, который необходим для выбора по имени класса.

1

Использование:

Ext.get(el); 

, если вам нужно, чтобы получить наилегчайшем элемент, использование:

Ext.fly(el); 

обратитесь к документации по API для объекта Static Ext для деталей

2

bmoeskau является правильным, вы можете использовать Ext.select ('. x-panel'), который возвращает коллекцию divs с классом x-panel.

Обратите внимание, что Ext.get() просто возвращает один элемент, поэтому, если вы хотите получить несколько совпадений, вы должны использовать Ext.select() или Ext.query().

И более того, Ext.select() возвращает Ext.CompositeElement, хотя документ не список, но он поддерживает все методы Ext.Element так что ваш пример может быть просто записать в виде:

Ext.select('.x-panel').on('click', function(){ alert('test') }); 

В приведенном выше коде будет добавлен обработчик событий для операции щелчка для каждого x-panel.

Смежные вопросы