gpt4 book ai didi

angularjs - 日期选择器未绑定(bind)格式化值

转载 作者:行者123 更新时间:2023-12-04 16:29:18 27 4
gpt4 key购买 nike

这可能是一个简单的问题,但我遇到了 this datepicker 的问题.问题是我将格式设置为 dd/mm/yyyydata-date-format属性。但是,当检查我的 ng-model值如下:Wed Jul 17 2013 00:00:00 GMT+0000 (Greenwich Standard Time)
我想要的是绑定(bind)到 dd/mm/yyyy格式。

我怎样才能解决这个问题?

这是我的代码:

<label for="inputDateFrom">Frá</label>
<div class="control-group input-append">
<input type="text" ng-model="booking.Booking.DateFrom" data-date-format="dd/mm/yyyy" bs-datepicker>
<button type="button" class="btn" data-toggle="datepicker"><i class="icon-calendar"></i></button>
</div>

18.07.13 更新:

根据 rGil 的回答,我尝试使用 $scope.$watch。它工作正常,但首先它获取正确的日期(来自 getBooking() 服务函数),然后它更改为当前日期 - 这不是日期。

JavaScript 代码如下:
$scope.$watch('booking.Booking.DateFrom', function(v){ // using the example model from the datepicker docs
$scope.booking.Booking.DateFrom = moment(v).format();
alert(moment(v).format());
});

$scope.$watch('booking.Booking.DateTo', function(v){ // using the example model from the datepicker docs
$scope.booking.Booking.DateTo = moment(v).format();
alert(moment(v).format());
});

// Sækjum staka bókun
if(bookingID != null) {
BookingService.getBooking(bookingID).then(function(data) {
$scope.booking = data.data;
$scope.booking.Booking.DateFrom = moment($scope.booking.Booking.DateFrom);
$scope.booking.Booking.DateTo = moment($scope.booking.Booking.DateTo);
});
}

然后我的 HTML 如下:
<label for="inputDateFrom">Frá</label>
<div class="control-group input-append">
<input type="text" ng-model="booking.Booking.DateFrom" data-date-format="dd-mm-yyyy" bs-datepicker>
<button type="button" class="btn" data-toggle="datepicker"><i class="icon-calendar"></i></button>
</div>

<label for="inputDateTo">Til</label>
<div class="control-group input-append">
<input type="text" ng-model="booking.Booking.DateTo" data-date-format="dd-mm-yyyy" bs-datepicker>
<button type="button" class="btn" data-toggle="datepicker"><i class="icon-calendar"></i></button>
</div>

最佳答案

查看 AngularStrap 源代码,我发现如果您设置(看似未记录的)属性 date-type到“日期”之外的任何值(例如: String )这可以防止 bs-datpicker从将所选日期作为日期对象返回并解决问题。所以在这种情况下,它将是:

<input type="text" ng-model="booking.Booking.DateFrom" data-date-format="dd/mm/yyyy" date-type="string" bs-datepicker>

在 AngularStrap 上测试 v0.7.4v0.7.5

关于angularjs - 日期选择器未绑定(bind)格式化值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17664720/

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