AngularJS Bootstrap-datepicker popup shows incorrect date on first click -


i initilizing model date function , binding input has datepicker.

<label>begin date</label> <div class='input-group date'>           <input ng-model="main.begindate" class="form-control" onkeydown="return false" datepicker-popup="mm/dd/yyyy" show-weeks="false" is-open="begindate" ng-focus="begindate=true" ng-click="begindate=true" min-date="main.mindate" required/>           <span class="input-group-addon">                <span class="glyphicon glyphicon-calendar"></span>           </span>  </div> 

on first click, datepicker shows current date even though actual date different. on clicking input again, datepicker-popup resets correct date.

i tried:

  • formatting date using $filter
  • custom new date() function
  • removing min-date attribute

how popup show date bound model?

i using:

  • angularjs v1.5.0
  • bootstrap v3.3.6
  • angular-ui-bootstrap version: 0.13.4

first click ------>>>>> enter image description here

second click ----->>>>enter image description here

i checked situation , seems versions using somehow conflicting. if use angular 1.4.9 or below , try code seems work. here plunker show that. use angular 1.5.0 or above face same issue you. use angular 1.4.9 , angular-ui-bootstrap 0.13.4 or upgrade angular ui bootstrap version.

index.html

 <!doctype html> <html ng-app="app">   <head>     <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.js"></script>     <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular-animate.js"></script>     <script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.13.4.js"></script>     <script src="example.js"></script>     <link href="//netdna.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">   </head>   <body>  <div ng-controller="datectrl" style="padding:40px">   <label>begin date</label> <div class='input-group date'>           <input ng-model="dt" class="form-control" onkeydown="return false" datepicker-popup="mm/dd/yyyy" show-weeks="false" is-open="begindateopen" ng-focus="begindateopen=true" ng-click="begindateopen=true" min-date="main.mindate" required/>           <span class="input-group-addon">                <span class="glyphicon glyphicon-calendar"></span>           </span>  </div>  </div>   </body> </html> 

example.js

angular.module('app', ['ui.bootstrap']); angular.module('app').controller('datectrl', function ($scope) {  $scope.today = function(){   $scope.dt = new date(1998,1,5) } $scope.today(); }); 

Comments