AngularJS隐藏字段中的计算字段

时间:2013-12-05 10:36:27

标签: javascript html forms angularjs angularjs-scope

我正在angularJS中创建一个带有计算字段的表单,该字段的值是从3个数字字段给出的,其中一个是隐藏的,它的可见性取决于另一个的输入。

我的问题是,只要第三个字段不可见,就不会显示计算字段的值。

我尝试将0设置为隐藏字段的默认值,但这不能解决问题

这是我的代码:

<input type="number" ng-model="currForm.A" name="r_A" required /><br />
<input type="number" ng-model="currForm.B" name="r_B" required /><br />
<div ng-show="currForm.B > '5' ">
  <input type="number" ng-model="currForm.C" name="r_C" ng-required="currForm.B > '5' " /><br />
</div>
<label>Risultato A+B+C</label>: <input type="number" ng-model="currForm.risultato"/>

这是我的剧本

$scope.currForm.C = 0;

$scope.$watch(' currForm.A + currForm.B + currForm.C', function (value) { 
    $scope.currForm.risultato= value;
});

$scope.$watch("currForm.B<'5'",function(){ 
    $scope.currForm.C = "";
});

即使隐藏了第三个输入,还有办法进行计算吗?

谢谢大家

1 个答案:

答案 0 :(得分:3)

您为currForm.C = 0设置了默认值,但未在观察部分设置,将第二个手表更改为以下内容,它适用于我:

$scope.$watch("currForm.B<'5'",function(){ 
    $scope.currForm.C = 0;
});