我正在使用两个日期选择器
<input type="text" class="form-control" datepicker-popup="{{format}}" ng-model="dt"
is-open="datepicker.dt" min-date="minDate" max-date="maxDate1" show-weeks="false" ng-required="true"
datepicker-options="dateOptions" show-button-bar="false"/>
和
<input type="text" class="form-control" datepicker-popup="{{format}}" ng-model="dt2"
is-open="datepicker.dt2" min-date="minDate" max-date="maxDate2" show-weeks="false" ng-required="true"
show-button-bar="false" />
我将 minDate 设置为今天,将 dt 和 dt2 分别设置为从今天算起的 2 周和 3 周。现在我希望第二个日期选择器依赖于第一个日期选择器,反之亦然。如果第二个日期选择器的日期在第一个日期之前的某个时间选择,则第一个日期选择器的日期应立即将其日期更改为为第二个日期选择器选择的同一天。此外,如果第一个日期选择器的日期在第二个日期之后选择,则第二个日期选择器应自动更改为与第一个日期选择器所选日期相同的日期。我考虑过使用 $watch
函数。但这似乎不起作用。
$scope.dt=Datepicker.daysToAdd();
为我服务:
DateSettings.daysToAdd=function(){
newDate = newDate.setDate(newDate.getDate()+numberOfDaysToAdd);
return newDate;
};
与第二个日期选择器类似。
$scope.$watch('dt',function(){
if($scope.dt.getTime()<=$scope.dt2.getTime()){
Datepicker.daysToAdd();
}else {
$scope.dt2=$scope.dt;
}
});
由于 $watch 似乎没有完成其工作,我该如何从这里继续?!
最佳答案
$scope.$watch('dt',function(oldVal,newVal,attr){
if($scope.dt > $scope.dt2){
$scope.dt2 = newVal;
}
});
$scope.$watch('dt2',function(oldVal,newVal,attr){
if($scope.dt > $scope.dt2){
$scope.dt = newVal;
}
});
关于javascript - 当第一个日期选择器中的日期在第二个日期选择器之后设置时更新日期选择器( Angular )中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26356667/