Search code examples
javascriptangularjsangular-ngmodel

angular.js - update `ng-model` with text.value


I have a javascript event to update input value dynamically

var posx = event.target.querySelector('input.posx');
          posx.value = event.dx;

Which it works to update the html:

<input type="text" ng-model="posx"  size="30" placeholder="x" class="post">

but somehow it did not update the ng-model="post. When I console.log($scope.posx);, I get

undefined

What seems to be the problem here


Solution

  • This code can be executed in Javascript context,

    var e = document.getElementsByClassName('posx')[0];
    var scope = angular.element(e).scope();
    scope.posx = "updated value";
    scope.$digest();
    

    OR

    var e = document.getElementsByClassName('posx')[0];
    angular.element(e).triggerHandler('input');