当我尝试在控制器中获取输入字段的值时,它总是未定义的,看起来像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>
我无法获得控制器中输入的值。 先谢谢!
答案 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();