如何使用ng-change获取控制器中的当前文本字段值?

时间:2017-04-12 09:47:24

标签: angularjs cordova phonegap-build

这里我想获得控制器函数evrytime中的文本字段值我改变了文本字段

<input type="text" name="quantity" ng-model="viewItemData1.quantity" ng-change="changePrice($event.target.value);">

 $scope.changePrice = function(val)
  {
     console.log(val);
     alert(val); 
     alert(JSON.stringfy(console.log(val))); 


  }  

2 个答案:

答案 0 :(得分:0)

在控制器中定义变量

$scope.val;

然后在你的html中使用ng-model

<input id="name" ng-model="val">

在这种情况下,你可以简单地说:

<input type="text" name="quantity" ng-model="viewItemData1.quantity" ng-change="changePrice();">

$scope.changePrice = function()
 {
 console.log($scope.viewItemData1.quantity);
 alert($scope.viewItemData1.quantity); 
 alert(JSON.stringfy(console.log($scope.viewItemData1.quantity))); 
 }

答案 1 :(得分:0)

在您的HTML ng-model="viewItemData1.quantity"中会处理数据绑定,您不需要ng-change方法,所以在HTML中:

<input type="text" name="quantity" ng-model="viewItemData1.quantity">

然后在您的控制器中,在输入字段上设置$ watch并在更改时执行您想要执行的操作:

$scope.$watch("viewItemData1.quantity", function(newVal, oldVal) {
  if (newVal !== oldVal) {
      console.log(newVal );
      alert(newVal );
      // or do whatever you want to do.
  }
});