6

Ich versuche, die Datumsauswahl als Monatsauswahl einzurichten. Alles funktioniert wie erwartet, solange Sie auf einen Monat klicken und/oder zum vorherigen/nächsten Jahr gehen. Wenn Sie jedoch die Jahresauswahl durch Anklicken des aktuellen Jahres von oben erweitern möchten, erhalte ich einen JavaScript-Fehler.Angular UI Bootstrap monthpicker

HTML:

<div ng-app="app"> 
    <div ng-controller="TestController"> 
     <input type="date" class="form-control" ng-model="date" datepicker-popup="MM/yyyy" is_open="date_opened" ng-focus="date_opened = true" ng-click="date_opened = true" datepicker-options="datepickerOptions"> 
    </div> 
</div> 

JS:

(function() { 
    'use strict'; 

    var app = angular.module('app', [ 
     'ui.bootstrap' 
    ]); 

    app.controller('TestController', ['$scope', function($scope) { 
     $scope.datepickerOptions = { 
      datepickerMode: "'month'", 
      minMode: 'month' 
     }; 
    }]); 
})(); 

Hier ist die JSFiddle demonstriert es (AngularJS 1.2.26, ui-Bootstrap 0.11.2).

Antwort

2

Stellt sich heraus, müssen Sie explizit den Datepicker-Modus in der Steuerung definieren:

$scope.datepickerMode = 'month'; 

und es dann als Attribut verwenden:

datepicker-mode="datepickerMode" 
2

Nehmen Sie die folgenden Änderungen in den Kommentaren hervorgehoben:

(function() { 
'use strict'; 

var app = angular.module('app', [ 
    'ui.bootstrap' 
]); 

app.controller('TestController', ['$scope', function($scope) { 
    $scope.datepickerOptions = { 
     datepickerMode: "month",  // Remove Single quotes 
     minMode: 'month' 
    }; 
}]); 

})();

+0

Dies bricht nur den ersten Datumsauswahl-Modus ... – valmarv

+0

kannst du bitte erklären was in diesem fall bricht ?? –

+0

Datepicker öffnet im Tagesmodus, versuche es in der Geige. Vielen Dank! – valmarv

Verwandte Themen