gpt4 book ai didi

javascript - Bootstrap 日期选择器格式不适用于初始化

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:04:44 25 4
gpt4 key购买 nike

我正在尝试在我的应用程序中使用 angular-bootstrap datepicker 模块,但遇到了一个小问题。我使用输入文本和按钮来显示这样的日期:

<div class="row" id="datePicker">
<p class="input-group">
<input type="text" class="form-control" datepicker-popup="{{format}}" ng-model="currentDate"
is-open="opened" datepicker-options="dateOptions" date-disabled="disableDt(date, mode)"
ng-required="true" close-text="Close" show-button-bar="false" ng-init="" readonly/>
<span class="input-group-btn">
<button type="button" class="btn btn-default" ng-click="open($event)">
<i class="glyphicon glyphicon-calendar"></i>
</button>
</span>
</p>
</div>

并且由于使用 Angular 谷歌地图,我必须手动引导我的应用程序。似乎由于手动引导,日期选择器无法正确格式化日期并显示整个未格式化的日期。当我从日期选择器中选择任何日期时,日期会在输入字段中正确显示。更重要的是,模型更改不会强制更改格式(例如,最初我从 json 文件中获得了一些日期,它们显示在字段中,但也没有格式化)。示例如下:

  • 初始日期:2014 年 1 月 17 日星期五 01:00:00 GMT+0100 (CET)
  • 预计日期(选择同一天后显示):2014 年 1 月 17 日

有没有什么方法可以刷新这个小部件,让它在开始时就知道正确的格式,或者在适当的时候更改它以正确初始化?

编辑: 当我将日期选择器移动到片段时,它不应该有未初始化模型的问题(此片段稍后加载)。仍然会出现问题 - 日期未格式化并且似乎根本没有与格式化程序或模型连接(例如,在 datepicker 中选择日期之前,制作格式下拉菜单和选择不同的值在教程中不起作用)。

EDIT 2 来自 camden_kid 提供的链接的解决方案有效! :) 详细信息在他的评论中。

最佳答案

答案可以在这里找到: AngularJS 1.3 - Datepicker initial format is incorrect

我在初始化时手动格式化日期如下:

$scope.currentDate = $filter('date')(new Date(), $scope.format);

但是,更好的解决方案是如下重载指令(取自原始链接):

angular.module('myApp').directive('datepickerPopup', function (dateFilter, datepickerPopupConfig) {
return {
restrict: 'A',
priority: 1,
require: 'ngModel',
link: function(scope, element, attr, ngModel) {
var dateFormat = attr.datepickerPopup || datepickerPopupConfig.datepickerPopup;
ngModel.$formatters.push(function (value) {
return dateFilter(value, dateFormat);
});
}
};

});

当 datepicker 之后更改日期时,datepicker 本身会处理任何日期格式:)

感谢@camden_kid提供链接! :)

关于javascript - Bootstrap 日期选择器格式不适用于初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26634301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com