2016-10-07 5 views
1

У меня есть календарь с неправильным поведением.
Как только кто-то открывает его, выбрана неправильная дата.
Я хотел бы показать текущую дату при открытии.
Это то, что происходит сейчас:

enter image description hereТекущая дата в datepicker



HTML:

<p class="input-group"> 
    <input id="dataClass" type="text" name="input" 
     placeholder="gg-mm-aaaa" 
     tooltip="Inserire una data nel formato gg-mm-aaaa" 
     tooltip-placement="bottom" class="form-control input-sm" 
     custom-datepicker-pattern="{{customDatePattern}}" 
     datepicker-popup="{{formatoDataDatePicker}}" 
     show-button-bar="false" ng-model="systemDate" 
     is-open="status.opened" min-date="'01-01-1900'" max-date="maxDate" 
     datepicker-options="dateOptions" 
     date-disabled="disabled(date, mode)" ng-required="true" 
     close-text="Chiudi" current-text="Oggi" /> 
    <span class="input-group-btn"> 
    <button type="button" class="btn btn-primary btn-sm" 
     ng-click="open($event)" tooltip="Cambia data timbro" 
     tooltip-placement="right"> 
    <i class="fa fa-calendar"></i> 
    </button> 
    </span> 
</p> 

JS:

$scope.today = function() { 
    $scope.dt = new Date(); 
}; 
$scope.today(); 

$scope.today = new Date(); 
$scope.dt = $filter('date')($scope.today , 'yyyy-MM-dd'); 
$scope.systemDate = $filter('date')($scope.dt , 'dd-MM-yyyy'); 
$scope.clear = function() { 
    $scope.dt = null; 
}; 

$scope.toggleMin = function() { 
    $scope.minDate = $scope.minDate ? null : new Date(); 
}; 
$scope.toggleMin(); 

$scope.toggleMax = function() { 
    $scope.maxDate = $scope.maxDate ? null : new Date(); 
}; 
$scope.toggleMax(); 

$scope.maxDate = $filter('date')($scope.today , 'yyyy-MM-dd'); 

$scope.open = function($event) { 
    $event.preventDefault(); 
    $event.stopPropagation(); 

    $scope.status.opened = true; 
}; 

$scope.dateOptions = { 
    formatYear: 'yy', 
    startingDay: 1 
}; 



Что я делаю неправильно?

+1

Создать plunker демо, воспроизводящий проблему. – charlietfl

+0

Не могли бы вы 'console.log ($ scope.maxDate)'? Работает ли 'datepicker-options =" ​​dateOptions "? Не должно быть 'datepicker-options =" ​​{{dateOptions}} "' –

ответ

1

В конфигурации вашей директивы я установить:

ng-model="systemDate" 

В своем коде вы устанавливаете для этого вар: $ scope.systemDate = $ фильтра ('дата') ($ scope.dt, «дд -MM-YYYY ');

Вы должны изменить от:

$scope.systemDate = $filter('date')($scope.dt , 'dd-MM-yyyy'); 

в

$scope.systemDate = $scope.today(); 
+0

, это решает проблему, но только частично. Я хочу дату в формате dd-MM-yyyy. Не могли бы вы обновить свой ответ, чтобы я мог его принять? :) –

Смежные вопросы