0

我正在處理日期格式的問題: 在我的公式中我使用的是uib-datepicker-popup來獲取日曆並在控制器中我需要格式化迄今爲止所以我使用的是$filter('date')

所以這裏是輸入字段:

<div class="input-group"> 
    <input id="fechasolicitudc" type="text" class="form-control" 
     ng-class="(form.fechasolicitudc.$invalid) && (submitted) ? 'error': '' " 
     ng-style="(form.fechasolicitudc.$invalid) && (submitted) && {'background-color':'pink'}" 
     name="fechasolicitudc" uib-datepicker-popup="dd/MM/yyyy" 
     ng-model="vm.peticion.contacto.fechaSol" 
     is-open="vm.datePickerOpenStatus.fechasolicitudc"/> 
    <span class="input-group-btn"> 
     <button type="button" class="btn btn-default" 
      ng-click="vm.openCalendar('fechasolicitudc')"> 
      <i class="glyphicon glyphicon-calendar"></i> 
     </button> 
    </span> 
</div> 

,並在我的控制器:

if (vm.peticion.contacto.fechaSol != null) { 
    var d = $filter('date')(vm.peticion.contacto.fechaSol, 'yyyy-MM-dd'); 
    vm.peticion.contacto.fechaSol = d; 
} 

什麼一切發生的是,日期爲在數據庫中更新但該字段已被刪除。 當我嘗試輸入type="date"時,該字段未被刪除,但日曆彈出窗口不起作用。

回答

0

在您的標記:

//... 
uib-datepicker-popup="{{dateFormat}}" ng-model="vd" 
datepicker-options="vdOptions" 
// ... 

在你的控制器:

$scope.dateFormat = 'dd MMM yyyy'; // or your custom date 

// and if you want to have your date set as today 
$scope.vd = new Date(); 
$scope.vdOptions = { 
     formatYear: 'yy', 
     formatMonth: 'MM', 
     maxDate: new Date(), 
     minDate: minDate, 
     startingDay: 1, 
     showWeeks: false, 
     yearRows: 2, 
     yearColumns: 2 
}; 

vd = valueDate

我不認爲在這種情況下使用$filter點。

+0

在我的數據庫中,格式是yyyy-MM-dd和datepicker-popup =「{{dateFormat}}」只改變日期的出現而不是格式,如果我不做$ filter插入數據庫不起作用(我不知道爲什麼) – Smahane

+0

我已經用vdOptions屬性更新了答案,您可以在其中定製日期選項 – flashjpr

+0

無論如何,這無法解決我的問題 – Smahane