首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >日期未显示在angular-bootstrap日期选择器中

日期未显示在angular-bootstrap日期选择器中
EN

Stack Overflow用户
提问于 2017-01-07 06:09:21
回答 1查看 1.8K关注 0票数 1

我有一个表,其中包含一些日期,我正在尝试使用angular ui bootstrap来获得一个日期选择器来编辑它们。

虽然datepicker弹出得很好,允许我选择一个没有问题的日期,但日期本身不会出现在输入中,直到我从弹出窗口中选择了一个新的日期。

可以使用以下代码重新创建:

代码语言:javascript
复制
<!doctype html>
<html ng-app="ui.bootstrap.demo">

<head>
  <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.js"></script>
  <script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-2.4.0.js"></script>
  <script src="example.js"></script>
  <link href="//netdna.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
</head>

<body>

  <style>
    .full button span {
      background-color: limegreen;
      border-radius: 32px;
      color: black;
    }

    .partially button span {
      background-color: orange;
      border-radius: 32px;
      color: black;
    }
  </style>
  <div ng-controller="DatepickerPopupDemoCtrl">
    <table>
      <tbody>
        <tr ng-repeat="event in eventFixtures track by $index">
          <td>
            <div class="row">
              <div class="col-md-6">
                <p class="input-group">
                  <input type="text" class="form-control" ng-model="event.date" uib-datepicker-popup="dd/M/yyyy" is-open="event.isOpen" ng-click="event.isOpen = true;" />
                </p>
              </div>
            </div>
          </td>
        </tr>
      </tbody>
    </table>
  </div>
</body>

</html>

还有这个:

代码语言:javascript
复制
angular.module('ui.bootstrap.demo', ['ui.bootstrap']);
angular.module('ui.bootstrap.demo').controller('DatepickerPopupDemoCtrl', function ($scope) {
  $scope.eventFixtures = [
    {name: "1", date: "1-1-01"},
    {name: "2", date: "2-2-02"},
    {name: "3", date: "3-3-03"},
    {name: "4", date: "4-4-04"},
    {name: "5", date: "5-5-05"}
  ];

});
EN

回答 1

Stack Overflow用户

发布于 2017-01-07 06:33:05

弄清楚了,问题是date数据源是一个字符串,而不是Date对象。当您选择一个新的数据对象时,它会被写入到变量中,但在此之前,它是一个字符串,因此不会。

如果您在eventFixtures声明之后编写此代码,它将转换日期并说明问题:

代码语言:javascript
复制
   for(var i = 0; i < $scope.eventFixtures.length; i++) {
        $scope.eventFixtures[i].date = new Date($scope.eventFixtures[i].date);
    }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41515151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档