AngularJS过滤两个选择输入,其值小于或等于value

时间:2015-06-18 22:43:47

标签: javascript angularjs select filter compare

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

1 个答案:

答案 0 :(得分:0)

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

$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

相关问题