Установить значение по умолчанию для поля ввода даты в 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/

Рабочая скрипка

{{date | date:'MM/dd/yyyy'}}

Я изменил его на дату и добавить фильтр даты.

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');

Другие вопросы по тегам