2017-03-23 3 views
1

Ich benutze Angular-Bootstrap-DateTimePicker-Modul für Benutzer Datum und Uhrzeit auswählen, Wie kann ich defualt Datum und Uhrzeit hinzufügen, wenn Ansicht rendert? Haben wir irgendwelche Attribute, die wir booleab Wert oder eine andere bessere appraoch setzen können?Wie setze ich das Standarddatum mit angular-bootstrap-datetimepicker?

main.html

<div class="dropdown form-group"> 
    <!-- <label>Start Date</label> --> 
    <a class="dropdown-toggle" id="dropdownStart" role="button" data-toggle="dropdown"> 
     <div class="input-group date"> 
      <input type="text" class="form-control" data-ng-model="dateRangeStart" placeholder=" Search Start Date"> 
      <span class="input-group-addon"><i class="glyphicon glyphicon-calendar"></i></span> 
     </div> 
    </a> 
    <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"> 
     <datetimepicker data-ng-model="dateRangeStart" data-datetimepicker-config="{ dropdownSelector: '#dropdownStart', renderOn: 'end-date-changed' }" data-on-set-time="startDateOnSetTime()" data-before-render="startDateBeforeRender($dates)"></datetimepicker> 
    </ul> 
</div> 

Ctrl.js

$scope.endDateBeforeRender = endDateBeforeRender 
     $scope.endDateOnSetTime = endDateOnSetTime 
     $scope.startDateBeforeRender = startDateBeforeRender 
     $scope.startDateOnSetTime = startDateOnSetTime 

     function startDateOnSetTime() { 
      $scope.$broadcast('start-date-changed'); 
     } 

     function endDateOnSetTime() { 
      $scope.$broadcast('end-date-changed'); 
     } 

     function startDateBeforeRender ($dates) { 
      if ($scope.dateRangeEnd) { 
      var activeDate = moment($scope.dateRangeEnd); 

      $dates.filter(function (date) { 
       $scope.searchObj.endDate = activeDate._i; 
       // console.log(activeDate); 
       return date.localDateValue() >= activeDate.valueOf() 
      }).forEach(function (date) { 
       date.selectable = false; 
       // console.log(date); 
      }) 
      } 
     } 

function endDateBeforeRender ($view, $dates) { 
     if ($scope.dateRangeStart) { 
     var activeDate = moment($scope.dateRangeStart).subtract(1, $view).add(1, 'minute'); 

     $dates.filter(function (date) { 
      $scope.searchObj.startDate = activeDate._i; 
      // console.log(activeDate._i); 
      return date.localDateValue() <= activeDate.valueOf() 
     }).forEach(function (date) { 
      date.selectable = false; 
      // console.log(date); 
     }) 
     } 
    } 

Antwort

0

Sie sollten das data-ng-model Attribut auf einen Standardwert festlegen, um:

<datetimepicker data-ng-model="dateRangeStart"></datetimepicker> 

In Ihrem Controller geben dateRangeStart ein Standardwert:

$scope.dateRangeStart = new Date(); 
+0

Wie kann ich angeben, ob ich das Startdatum mit der Uhrzeit annehmen möchte, sagen wir 1:00 Uhr bis 23:55 Uhr? ist es möglich ? – hussain

+0

Sie können die gewünschte Zeit im JavaScript-Objekt "Date" angeben. Ich glaube nicht, dass es möglich wäre, mehrere Male anzugeben. –

+0

was meinst du mehrmals? – hussain