2014-10-21 28 views
21

định dạng Tôi đã sau nhập văn bản lấp đầy bởi giá trị mô hình trong timestamp:AngularJS được cập nhật trong ng-mô hình

<input type="datetime" ng-model="workerDetail.dateOfBirth" class="form-control" id="date_of_birth" /> 

Nó hiển thị giá trị trong đầu vào như dấu thời gian nhất định.

Tôi muốn chuyển đổi giá trị hiển thị trong đầu vào thành định dạng ngày (YYYY/MM/DD), nhưng trong mô hình phải luôn là dấu thời gian.

tôi đã cố gắng để làm điều đó bằng cách này:

{{workerDetail.dateOfBirth | date:'MMM'}} 

Nhưng không may mắn.

Cảm ơn lời khuyên nào.

Trả lời

30

Bạn có thể thử một bộ lọc

HTML

<input type="datetime" ng-model="mydateOfBirth" class="form-control" id="date_of_birth" /> 

khiển JS

$scope.$watch('mydateOfBirth', function (newValue) { 
    $scope.workerDetail.dateOfBirth = $filter('date')(newValue, 'yyyy/MM/dd'); 
}); 

$scope.$watch('workerDetail.dateOfBirth', function (newValue) { 
    $scope.mydateOfBirth = $filter('date')(newValue, 'yyyy/MM/dd'); 
}); 
+0

Định dạng nên: 'yyyy/MM/dd' – RolandoCC

+0

Trong thực tế, câu trả lời này gây ra cho tôi một rắc rối trong một ví dụ phức tạp hơn, vì vậy tôi đã đi cho Sergio Toledo và mọi thứ đều ổn. – Yulian

5

Bạn cũng có thể chỉ định một múi giờ như thế này:

$scope.$watch('workerDetail.dateOfBirth', function (newDate) { 
    $scope.workerDetail.dateOfBirth = $filter('date')(newDate, 'HH:mm', 'UTC'); 
}); 
0

Hãy thử Mã này để Chỉ có một ngày (dd/mm/yyyy)

html

<div class="col-lg-3"> 
<input type="date" name="dob" class="input-lg form-group" ng-model='dob'> 
</div> 

Angularjs

app.controller('myctrl',function($scope, $http,$window,$filter) { 
$scope.sent=function(){ 
    $scope.date = $filter("date")($scope.dob, 'dd-MM-yyyy'); 
    alert($scope.date); 
}}) 
Các vấn đề liên quan