http://plnkr.co/edit/TcNhLcSyDELsPESh9eou?p=preview
选择两个收音机后,如何使该值始终发生变化? 有人可以帮我吗?
$scope.opts = {
val1: false,
val2: false,
val3: false,
val4: false };
$scope.computedTotal = function () {
var opts = $scope.opts;
if(opts.val1==true && opts.val3==true){
return $scope.basPremium * 0.92;
} else if(opts.val1==true && opts.val4==true){
return ($scope.basPremium * 0.95)*1.04;
} else if(opts.val2==true && opts.val3==true) {
return ($scope.basPremium * 0.98)*1.08;
} else if(opts.val2==true && opts.val4==true) {
return $scope.basPremium * 1.12;
} };
<input type="radio" name="rdoResult" ng-model="opts.val1" ng-value="true"/> bezszkodowe ubezpieczenie 5%<br>
<input type="radio" name="rdoResult" ng-model="opts.val2" ng-value="true"/> za wystąpienie szkody w okresie ubezpiczenie zwyżka 8%<br>
<br>
<input type="radio" name="paid" ng-model="opts.val3" ng-value="true"/> płatność jednorazowa żniżka 2%<br>
<input type="radio" name="paid" ng-model="opts.val4" ng-value="true"/> płatność w 4 ratach zwyżka 4%<br>
答案 0 :(得分:0)
首次运行程序时,所有模型属性都设置了默认值。因此,当您第一次开始选择单选按钮时,AngularJS会检测到更改,并调用computeTotal()
函数。
但是,一旦选择了所有可能的单选按钮组合,就会设置模型值,并且由于未检测到任何更改,因此不会调用computeTotal()
(直到您更改输入值)。
尝试在返回opts.val
函数值后将false
重置为computeTotal()
。