我有一种情况,我在表单中有几个只读字段,与其他字段一起显示问题
您可以看到las两个输入为readonly
,它们是计算输入,其中总借记由totalDebit
$scope
函数计算,总余额由totalCredit()
计算$scope
上的函数。问题是输入仅反映ng-model值,两个输入均为零,并且不从计算函数中获取值。简化的控制器是
app.controller('myController', ['$scope' ,function($scope){
$scope.credit = 0;
$scope.debit = 0;
$scope.debitSum = 0;
$scope.creditSum = 0;
$scope.totalCredit = function(){
return $scope.credit + 200; //just to show that it is calculated field
}
$scope.totalDebit = function(){
return $scope.debit + 200; //just to show that it is calculated field
}
}]);
如果从只读输入中删除ng-model
指令,则它们将分别从totalDebit
和totalCredit
函数中提取它们的值。但我希望他们使用函数中的值,并更新$scope
和totalDebit
的{{1}}属性。以下是此代码的plunker
答案 0 :(得分:3)
不应该在这里回答(为什么ng值没有达到预期的效果):
将给定表达式绑定到
<option>
或input[radio]
的值,以便在选择元素时,该元素的ngModel设置为绑定值。
这不是我们的情况......
因为,
中选择广播或某个选项时ngValue
是在CHANGE上触发的。当我们在<select>
因此,ng-value
在这种情况下不是正确的设置。
我们可以这样调整:
<input name="totalDebit" value="{{totalDebit()}}" readonly="" />
<input name="totalCredit" value="{{totalCredit()}}" readonly="" />