【问题标题】:Initial value of datepicker (angular-ui) isn't shown未显示 datepicker (angular-ui) 的初始值
【发布时间】:2023-03-09 07:22:01
【问题描述】:

我使用下面的代码

<pre>Selected date is: <em>{{tournament.startDate | date:'fullDate' }}</em></pre>
<input name=startDate" id="startDate" type="text" class="form-control" uib-datepicker-popup="{{format}}" ng-model="tournament.startDate" is-open="popup1.opened"
                         ng-required="true" close-text="Schließen""
                         datepicker-options="dateOptions" alt-input-formats="altInputFormats" />
                     <span class="input-group-btn">
                        <button type="button" class="btn btn-default" ng-click="open1()"><i class="glyphicon glyphicon-calendar"></i></button>
                    </span>

和我的控制器

$scope.tournament = Tournament.get({id: $routeParams.id});

    $scope.dateOptions = {
        dateDisabled: false,
        formatYear: 'yy',
        maxDate: new Date(2020, 5, 22),
        minDate: new Date(),
        startingDay: 1
    };

tournament.startDate 的值显示在 pre-Tag 中,但不在输入字段中。打开的日期选择器显示正确的日期。

这似乎是一个同步问题,如果我将控制器更改为

$scope.tournament = new Object();
$scope.tournament.startDate = new Date();

日期显示在输入字段中。

编辑:范围内填充了正确的日期,但输入字段未显示该值。

感谢您的帮助 窒息

【问题讨论】:

  • 什么是 typeof(tournament.startDate) ,什么时候同步没有发生?
  • 不明白这个问题。
  • 您正在从服务器获取 scope.tournament。从服务器获取价值后,您可以执行“console.log(typeof(tournament.startDate)”吗?看起来像是类型不匹配的情况。
  • 哦,看来,你已经解决了:)

标签: angularjs datepicker angular-ui-bootstrap


【解决方案1】:

自己发现,REST 服务返回一个字符串而不是日期对象,转换后它工作正常。

但在我看来,如果不能转换给定的对象,angular-ui 应该引发异常。

【讨论】:

    猜你喜欢
    • 2012-05-09
    • 2013-12-11
    • 1970-01-01
    • 2014-11-29
    • 1970-01-01
    • 2021-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多