-
Add event to input
Hi.
I create number inputs by the way described below:
Code:
var quantityInput = this.createNumberInput('Quantity', 'QuantityLabel', 0, 0, 100);
createNumberInput: function (name, label, defaultValue, minimumValue, maximumValue) {
var input = {};
input.xtype = 'numberfield';
input.fieldLabel = label;
input.hiddenName = name + 'ID';
input.name = this.inputPrefix + '.' + name;
input.id = name;
input.value = defaultValue;
input.minValue = minimumValue;
input.maxValue = maximumValue;
return input;
}
How I could add event 'change' to the quantityInput?
-
If you want to do it in your createNumberInput function you can specify a listeners object so that once it gets created it uses it.
http://docs.sencha.com/ext-js/4-1/#!...-cfg-listeners
Or after it is created or if you used Ext.create instead of an anonymous object you could call quantityInput.on( 'change', someFunction )
http://docs.sencha.com/ext-js/4-1/#!...able-method-on
Or if you were to use MVC you could control all your inputs from the controller
http://docs.sencha.com/ext-js/4-1/#!...method-control
-
Could you provide an example of assigning listener, because I clearly don't understand what I should write, because I don't create numberInput by the standard method. So, should I write something like:
Code:
input.listeners = {change: {fn: function() alert('Changed');}};
If so, so the code doesn't work. And about the second method, I tried below code:
Code:
quantityInput.on('change', alert('Changed'););
But it fired everytime I opened page and JS console typed the error Object #<Object> has no method 'on'.
-
Done. By adding listener. Thanks.
Code:
quantityInput.listeners = {
change: {
fn: function (x, y, z) {
alert('Changed');
}
}
};