我有 2 个选择,我需要选择一个年份范围。第二个选择的年份必须大于或等于第一个。因此,如果我在第一个选择中选择一年,第二个选择应该改变并只显示大于或等于第一个选择中选择的年份的年份。
这就是我现在所拥有的:
<div ng-app="">
<div ng-controller="appCtrl">
<select id="id_year_1">
<option ng-repeat="year in years1 | filter:dateRangeFilter1" value="{{year}}">{{year}}</option>
</select>
<select id="id_year_2">
<option ng-repeat="year in years2 | filter:dateRangeFilter2" value="{{year}}">{{year}}</option>
</select>
</div>
</div>
angular.module('app', ['ngResource'])
function appCtrl($scope) {
var years = [2010, 2011, 2012];
$scope.years1 = years;
$scope.years2 = years;
$scope.year1 = years[0];
$scope.year2 = years[years.length - 1];
$scope.$watch('years1', function(value, oldValue) {
$scope.dateRangeFilter2 = function (value) {
return value >= $scope.year2;
};
});
$scope.$watch('years2', function(value, oldValue) {
$scope.dateRangeFilter1 = function (value) {
return value <= $scope.year1;
};
});
}
我在这个小提琴中也有它:http: //jsfiddle.net/d3sb4hky/
谢谢。