如何通过ng-change获取字段的值

Ole*_*ann 11 javascript jquery angularjs

我知道如何通过AngularJS中的ng-change对textarea中的用户输入做出反应.但是如何在Angular控制器中获取当前输入?我$(this).value();在jQuery中遗漏了一些东西.

<script>
  angular.module('changeExample', [])
    .controller('ExampleController', ['$scope', function($scope) {
      $scope.evaluateChange = function() {
        console.log("How do I get the current content of the field?");
      };
    }]);
</script>

<div ng-controller="ExampleController">
  <textarea ng-change="evaluateChange()" id="ng-change-example1"></textarea>
</div>
Run Code Online (Sandbox Code Playgroud)

Aje*_*ani 12

您可以使用$ event来获取当前元素的值.像这样的东西

<script>
  angular.module('changeExample', [])
    .controller('ExampleController', ['$scope', function($scope) {
      $scope.evaluateChange = function(obj,$event) {
        var currentElement = $event.target;
        console.log(currentElement.value);//this will give you value of current element
      };
    }]);
</script>

<div ng-controller="ExampleController">
  <textarea ng-change="evaluateChange(this)" id="ng-change-example1"></textarea>
</div>
Run Code Online (Sandbox Code Playgroud)


Dan*_*zik 11

NG-模型

它将存储输入,textarea或select的值.

你的HTML应该是这样的:

<div ng-controller="ExampleController">
  <textarea ng-model="myValue" ng-change="evaluateChange()" id="ng-change-example1"></textarea>
</div>
Run Code Online (Sandbox Code Playgroud)

然后在您的控制器中,您可以参考 $scope.myValue

希望有所帮助!:)