6

我想設置日期選取器作爲月份選取器工作。只要你點擊一個月和/或上一年/下一年,一切都按預期工作。但是,如果您想通過點擊當前年份來擴大年份選擇範圍,則會發生JavaScript錯誤。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' 
     }; 
    }]); 
})(); 

這裏的JSFiddle證明它(angularjs 1.2.26,UI的自舉0.11.2)。

回答

2

原來你需要在控制器中明確定義的日期選擇器模式:

$scope.datepickerMode = 'month'; 

,然後用它作爲一個屬性:

datepicker-mode="datepickerMode" 
2

讓儘可能強調意見如下更改:

(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

這隻打破了最初的日期選擇器模式... – valmarv 2014-10-20 13:20:14

+0

可以請你解釋一下在這種情況下會發生什麼? – 2014-10-21 08:59:41

+0

日期選擇器在白天模式下打開,在小提琴中嘗試。謝謝! – valmarv 2014-10-21 12:10:08

相關問題