これはおそらく簡単な質問ですが、この datepickerに問題があります。問題は、形式をdd/mm/yyyy
withdata-date-format
属性に設定することです。ただし、ng-model
値を確認すると、次のようになります。Wed Jul 17 2013 00:00:00 GMT+0000 (Greenwich Standard Time)
私が欲しいのは、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>