AngularJS 过滤两个 select 值小于或等于值的输入

AngularJS Filter two select inputs with values less than or equal to value

我想设置两个 select 输入,以便 select 输入的组合值应小于或等于特定值。 AngularJS 世界的新手,所以我可能忽略了一些东西。我假设有一个过滤器,但我应该使用的可能是 ng-change。

您可以创建一个代表您的两个输入的对象。

$scope.inputs = {
    'A': 0,
    'B': 0
  };

使用 ng-change 调用一个函数来检查所有输入的总和并确保它们小于最大值。

<select ng-model="inputs.A" ng-options="number for number in numbers" ng-change="verifySum('A');"></select>

该函数将获取正在更改的值的键,如果总和超过最大值,将更新此值。

  $scope.verifySum = function(key) {
    var sum = $scope.inputs.A + $scope.inputs.B
    if(sum >= $scope.maxVal) {
      $scope.inputs[key] -= (sum - $scope.maxVal);
    }
  }

http://plnkr.co/edit/vK0cfh7G3O3yKYCAzAOI?p=preview