0

Ich möchte eine uib-datepicker in einem ng-repeat hinzufügen. Jedes Element hat sein eigenes min und maxdate, also möchte ich das auf den Datepicker setzen.bedingte Min und Max Datum in Uib-Datepicker

Zur Zeit habe ich das, aber es funktioniert nicht:

<p class="input-group"> 
    <input class="form-control" type="text" uib-datepicker-popup="dd-MM-yyyy" ng-model="task.datePlanned" is-open="popup.opened" datepicker-options="dateOptions($index)" close-text="Sluiten"> 
    <span class="input-group-btn"> 
     <button class="btn btn-default" type="button" ng-click="openDate()"> 
      <i class="fa fa-calendar"></i> 
     </button> 
    </span> 
</p> 

Controller:

$scope.dateOptions = function(index){ 
    return { 
     maxDate: new Date($scope.campaign.tasks[index].endDate), 
     minDate: new Date($scope.campaign.tasks[index].startDate) 
    } 
} 

$scope.openDate = function(){ 
    $scope.popup.openend = true; 
} 

$scope.popup = { 
    openend: false 
} 

Ich erhalte ein Error: [$rootScope:infdig] Fehler am min und maxdate.

Gibt es eine Möglichkeit, dem Picker bedingte Daten hinzuzufügen?

Antwort

1

Jedes Element hat sein eigenes min und maxdate, also möchte ich dieses zum datepicker setzen.

Wenn die Anforderung eine separate min eingestellt ist, max für jedes Element, können Sie die Objektdefinition im Tag selbst, wie diese erweitern:

<p class="input-group"> 
    <input class="form-control" type="text" 
     uib-datepicker-popup="dd-MM-yyyy" 
     ng-model="task.datePlanned" 
     is-open="popup.opened" 
     datepicker-options="{ 
        maxDate: task.endDate, 
        minDate: task.startDate 
       }" 
     close-text="Sluiten"> 
    <span class="input-group-btn"> 
     <button class="btn btn-default" type="button" ng-click="openDate()"> 
      <i class="fa fa-calendar"></i> 
     </button> 
    </span> 
</p> 
+0

Ah, natürlich, so einfach. Ich Idiot.. – NVO