Установить значение по умолчанию для поля ввода даты в HTML5 с помощью angularJS
Я надеюсь привязать значение по умолчанию, которое я сгенерировал в данный момент, к полю ввода даты и времени. Я попробовал ng-модель и напрямую связал ее со значениями атрибутов. Но, похоже, ничего из этого не работает. Есть ли способ заставить его работать?
Редактировать: Кроме того, как связать поле ввода времени, а?
<body ng-app="myApp">
<div ng-controller="MyCtrl">
<input type="date" ng-model="date" value="{{date}}">
<p>{{date}}</p>
<input type="time" ng-model="time" value="{{time}}">
</div>
Вот для этого скрипка: http://jsfiddle.net/chrisyeung/bF9Pq/
5 ответов
Если вы используете Chrome, вы должны указать формат даты как "yyyy-MM-dd".
$scope.date = $filter("date")(Date.now(), 'yyyy-MM-dd');
Это просто не будет работать иначе. Вот рабочая версия http://jsfiddle.net/bF9Pq/4/
value="{{date}}"
вызывает ошибку инициализации: указанное значение "{{datum_default}}" не соответствует требуемому формату "yyyy-MM-dd".
Решение: не устанавливайте дату в шаблоне!
<input type="date" ng-model="date_code">
назначьте дату в контроллере!
$scope.date_code = new Date();
С библиотекой моментов вы можете использовать это:
$scope.date = new Date()
Если значение уже сохранено в базе данных/переменной:
$scope.date = new Date(moment(varName).tz('Asia/Kolkata').format('L'))
moment.locale(); // en
moment().format('LT'); // 9:58 AM
moment().format('LTS'); // 9:58:18 AM
moment().format('L'); // 12/07/2020
moment().format('l'); // 12/7/2020
moment().format('LL'); // December 7, 2020
moment().format('ll'); // Dec 7, 2020
moment().format('LLL'); // December 7, 2020 9:58 AM
moment().format('lll'); // Dec 7, 2020 9:58 AM
moment().format('LLLL'); // Monday, December 7, 2020 9:58 AM
moment().format('llll'); // Mon, Dec 7, 2020 9:58 AM
Вы также можете:
$scope.date = new Date().toLocaleDateString('en-CA');