角度输入[type = date]。没有价值显示

时间:2014-12-29 05:14:41

标签: javascript angularjs datepicker

我遇到角度date输入问题。

示例代码:



<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script>
  angular.module('app', []).controller('ACtrlr', function($scope){
    $scope.start = new Date();
    $scope.plusDay = function(s){
      console.log(s);
      $scope.start.setDate($scope.start.getDate() + 1);
    };
  });
</script>
<div ng-app="app" ng-controller="ACtrlr">
  <input type="date" ng-model="start" />
  <input type="date" ng-model="start" />
  {{start}}
  <button ng-click="plusDay(start)" >+</button>
</div>
&#13;
&#13;
&#13;

如果我更改此programmaticaly(首先单击一个按钮),模型会正确更改,但输入中不会显示任何值。 如果我立即更改日期输入,模型将变为简单文本,如2014-12-29和所有制动器。

之前我只将其用于文本值,但现在我得到this例外。

知道这里有什么问题吗?使用input[type=date] s的正确方法是什么?


Google Chrome 38.0.2125.111(64位)

1 个答案:

答案 0 :(得分:1)

  

请注意,此功能(输入[&#39;日期&#39;])不适用于较旧的角度版本。它的工作角度为1.3及以后

请检查angularjs更改日志here

中的重大更改

并更新这将解决您的问题,使用更新版本的angularjs。这是Plunker

$scope.plusDay = function(s){
  console.log(s);
  $scope.start.setDate($scope.start.getDate() + 1);
  $scope.start = new Date($scope.start);
};