如何在文本框中按任意键时调用控制器方法?

时间:2014-12-19 04:23:50

标签: angularjs angularjs-directive

我在angularjs中非常新。

我想在angularjs的文本框中输入任何文本时使用ajax调用来调用我的控制器方法。

我想在文本框上的任何按键上调用我的控制器方法或删除。

<input type="text" data-ng-model="newfriend.SearchText" required />

在这个文本框中的任何按键上,我想点击这个:

 $http.get('../Home/GetFriendsList').success(function (data) {
        $scope.friends = data;

    })
   .error(function () {
       $scope.error = "An Error has occured while loading posts!";
   });

有人可以帮我吗???

2 个答案:

答案 0 :(得分:0)

扩展我的评论:

<input type="text" data-ng-model="newfriend.SearchText" ng-change="myMethod()" required />

$scope.myMethod = function () {

 $http.get('../Home/GetFriendsList').success(function (data) {
        $scope.friends = data;
    })
   .error(function () {
       $scope.error = "An Error has occurred while loading posts!";
   });
}

使用文本框中的更新值调用myMEthod函数的另一种方法。

 <input type="text" data-ng-model="newfriend.SearchText" required />

$scope.$watch('$scope.newfriend.SearchText', function (newVal,oldVal) {
                 if (newVal){
                  $scope.myMethod();
                  }
              })

您已经在使用ng-model。您可以在控制器中获得该值。 只需使用,

var  text = $scope.newfriend.SearchText

或者,将myMethod函数调用为

 <input type="text" data-ng-model="newfriend.SearchText" ng-keypress="myMethod(newfriend.SearchText)"

答案 1 :(得分:0)

使用ng-change=function()$watch()