簡體   English   中英

在第二個日期選擇器之后設置第一個日期選擇器中的日期時,更新日期選擇器中的日期(角度)

[英]Updating date in Datepicker (Angular) when date in first datepicker is set after second datepicker

我正在使用兩個日期選擇器

<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;
      }    
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM