如何获取angularJS控制器中输入字段的值

时间:2016-04-04 10:14:59

标签: javascript jquery angularjs

当我尝试在控制器中获取输入字段的值时,它总是未定义的,看起来像angularJS双绑定不起作用

这是angularJS代码

<form ng-controller="MainCtrl" class="form-inline" role="form" padding-left:10em">

       <input type="text" class="form-control" id="quantity" ng-model="quantity" />

    </form>

html

<div id="1"> 
     <div id=2"><button id="button">Click me</button></div>
     <div id=3"></div>
   </div>

我无法获得控制器中输入的值。 先谢谢!

4 个答案:

答案 0 :(得分:1)

首先,您的语法不正确,请参阅hadiJZ答案。其次,控制器在创建后将被调用一次,因此如果您之后更改文本,则不会再次看到警报。

答案 1 :(得分:0)

如果将其添加到控制器中,则每次更改输入值时都会显示警报。

 $scope.$watch(function() {
      return $scope.quantity;
    }, function(quantity) {
      alert(quantity);
    });

答案 2 :(得分:0)

我发现了一种适合我的方法。

这是角度

$scope.changedValue = function (item,quan)
    {

        if (item != null && quan !=null)
        {

            $http.get('/api/product/'+ item).success(function (data)
            {

                $scope.amount = parseFloat(data.price * quan);

            });

        }
    }

并且是html

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
  <form  class="form-inline" >

       <input type="text" class="form-control" id="quantity" ng-model="quantity" />
       <select class="form-control" id="selected_id" ng-model="selected_id" ng-options="c.Value as c.Text for c in pcategoryA"
                                        ng-change="changedValue(selected_id,quantity)">
    </form>
</div>

答案 3 :(得分:0)

要从AngularJS获取字段的值,您需要在其上设置ID,如下所示:

在AngularJS中,执行此操作以获取值:

$ scope.RandomValue = angular.element(&#39; #RandomValue&#39;)。val();