2013-09-27 3 views
1

Я новичок в extjs (используя ext.js 4.1), я все еще изучаю его, но то, что мне нужно сделать сейчас, немного сложно, и я бы хотел бы получить совет более опытного разработчика. Проблема в отношении этих кнопок:Как добавить слушателя к некоторым кнопкам extjs

{ 
    xtype : 'checkboxgroup', 
store : checked, 
columns : 3, 
vertical : false, 
singleSelect: true, 
items : [ 
{ 
    xtype: 'button', 
    text: 'name', 
    width: 75, 
    toggleGroup: 'mygroup', 
    enableToggle: true 
}, { 
    xtype: 'button', 
    text: 'email', 
    width:75, 
    toggleGroup: 'mygroup', 
    enableToggle: true 
}, { 
    xtype: 'button', 
    text: 'id', 
    width: 75, 
    toggleGroup: 'mygroup', 
    enableToggle: true 
} 
], 
listeners : 
{ 
    'change' : 
// store checked field 
function(th, newValue, oldValue) { 
    var ics = th.items.items; 
    for (i = 0; i < 3; i++) { 
     checked[i] = ics[i].checked; 
     } 
} 
} 
} 

Как вы можете видеть, что есть слушатель, он работал, когда кнопки были только флажков (я меняюсь их теперь будет проверяться только один момент времени). Теперь я предполагаю, что мне нужно изменить слушателя на множество других слушателей, по одному для каждой кнопки. Но есть вопросы:

  • Как получить значение с помощью кнопок?

  • Как должна функционировать функция слушателя на уровне параметров функции?

  • мне придется изменить «галочку» переменный, которая фильтрует магазин ...

Я копирую из this ответа, но он не работает до сих пор. Он не регистрирует событие.

ответ

1

Добавление слушателя к кнопке довольно простое. Это связано с тем, что хлопок с функцией вне его трудно. Тем не менее, слушатель для кнопки находится:

{ 
    xtype: 'button', 
    text: 'name', 
    width: 75, 
    toggleGroup: 'mygroup', 
    enableToggle: true, 
    listeners: { 
    click: function() { 
    //this == the button, as we are in the local scope 
     this.setText('I was clicked!'); 
    }} 
} 
Смежные вопросы