1. #1
    Sencha User coshmos's Avatar
    Join Date
    Apr 2012
    Posts
    18
    Vote Rating
    1
    Answers
    2
    coshmos is on a distinguished road

      0  

    Default Answered: 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?

  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. #2
    Sencha User Tim Toady's Avatar
    Join Date
    Feb 2010
    Location
    Pennsylvania
    Posts
    583
    Vote Rating
    268
    Answers
    62
    Tim Toady has much to be proud of Tim Toady has much to be proud of Tim Toady has much to be proud of Tim Toady has much to be proud of Tim Toady has much to be proud of Tim Toady has much to be proud of Tim Toady has much to be proud of Tim Toady has much to be proud of

      0  

    Default

    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

  4. #3
    Sencha User coshmos's Avatar
    Join Date
    Apr 2012
    Posts
    18
    Vote Rating
    1
    Answers
    2
    coshmos is on a distinguished road

      0  

    Default

    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'.

  5. #4
    Sencha User coshmos's Avatar
    Join Date
    Apr 2012
    Posts
    18
    Vote Rating
    1
    Answers
    2
    coshmos is on a distinguished road

      0  

    Default

    Done. By adding listener. Thanks.
    Code:
    		quantityInput.listeners = {
    			change: {
    				fn: function (x, y, z) {
    					alert('Changed');
    				}
    			}
    		};

Thread Participants: 1

Tags for this Thread