как получить значение идентификатора элемента (внутри элемента)? - PullRequest
0 голосов
/ 17 ноября 2011

Мне нужно получить значение для идентификатора, сделать это:

Application.Exaple = Ext.extend(Ext.form.FormPanel, {
record_id : 0,
initComponent : function() {
Ext.apply(this, {

                items: [
                {
                    name       : 'id',
                    id         : 'id',
                    fieldLabel : 'ID',
                    readOnly   : true,
                    hidden     : true,
                    listeners  : {
                        'render' : function() {
                            this.record_id = this.value;
                        }
                    }
                },
                {
                    name    : 'pum',
                    id      : 'pum',
                    handler : function() {
                        alert(this.record_id); // not work
                }

, но не работает.Что я делаю не так?

1 Ответ

2 голосов
/ 20 ноября 2011

Это выглядит как ошибка области действия.

вы пытаетесь обратиться к записи, в то время как текущее «this» - кнопка.

Вы можете сделать одну из 2 вещей:

1) передать область видимости обработчику следующим образом:

{
  name    : 'pum',
  id      : 'pum',
  scope: YOUR OBJECT HERE,
  handler : function() {
     alert(this.record_id); // not work
}

2) зарегистрировать событие нажатия кнопки изснаружи, например:

после вызова суперкласса базовой формы в вашем методе init ...

{
...
this.numBtn = this.items.itemAt(1);
this.numBtn.on('click',function(){YOUR LOGIC HERE},YOUR SCOPE HERE);
}

Надеюсь, это поможет ...

...