-
3 May 2012 2:23 AM #1
Answered: Add event to input
Answered: Add event to input
Hi.
I create number inputs by the way described below:
How I could add event 'change' to the quantityInput?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; }
-
Best Answer Posted by Tim Toady
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
-
3 May 2012 6:17 AM #2
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
-
3 May 2012 9:56 PM #3
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:
If so, so the code doesn't work. And about the second method, I tried below code:Code:input.listeners = {change: {fn: function() alert('Changed');}};
But it fired everytime I opened page and JS console typed the error Object #<Object> has no method 'on'.Code:quantityInput.on('change', alert('Changed'););
-
3 May 2012 10:29 PM #4
Done. By adding listener. Thanks.
Code:quantityInput.listeners = { change: { fn: function (x, y, z) { alert('Changed'); } } };


Reply With Quote