If you are hessitant of upgrading your angular material version
try something like this in controller
$scope.datepickeropen = function(){
$timeout(function () {
var e1 = jQuery.Event("keydown");
e1.which = 40; // it is down
$(".md-datepicker-calendar .md-focus").trigger(e1);
var e2 = jQuery.Event("keydown");
e2.which = 38; // it is up
$(".md-datepicker-calendar .md-focus").trigger(e2);
},500)
}
HTML as
<md-input-container>
<label>Withdrawal Date</label>
<md-datepicker ng-model="date" ng-focus="datepickeropen()"></md-datepicker>
</md-input-container>
angular.module('MyApp',['ngMaterial', 'ngMessages']).controller('AppCtrl', function($scope, $timeout) {
$scope.myDate = new Date();
$scope.datepickeropen = function(){
$timeout(function () {
var e1 = jQuery.Event("keydown");
e1.which = 40; // it is down
$(".md-datepicker-calendar .md-focus").trigger(e1);
var e2 = jQuery.Event("keydown");
e2.which = 38; // it is up
$(".md-datepicker-calendar .md-focus").trigger(e2);
},500)
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-messages.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-aria.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-animate.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-material/1.1.1/angular-material.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/angular-material/1.1.1/angular-material.min.css" rel="stylesheet"/>
<script src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-114/assets-cache.js"></script>
<div ng-controller="AppCtrl" style="padding: 40px;" class="datepickerdemoBasicUsage" ng-app="MyApp" ng-cloak>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<div>Dummy Text for scroll on page</div>
<h4>Standard date-picker <u>with issue fixed</u></h4>
<md-datepicker ng-model="myDate" md-placeholder="Enter date" md-hide-icons="triangle" ng-focus="datepickeropen()"></md-datepicker>
<h4>Standard date-picker <u>with issue</u></h4>
<md-datepicker ng-model="myDate" md-placeholder="Enter date" md-hide-icons="triangle"></md-datepicker>
</div>