Как установить дату в качестве заполнителя при просмотре загрузок?

0

Я использую этот плагин с Angular, который на самом деле является этим расширением. Когда в представлении загружаются все, что вы видите, это пустой ввод, когда вы нажимаете на этот вход, открывается календарь, и сегодня на этом входе отображается дата.

Мне нужно загрузить сегодняшнюю дату на вход, когда представление будет готово.

Вот как я его использую

<input type='text' datetimepicker
       datetimepicker-options="{format: 'MM/DD/YYYY', useCurrent: true}"/>

что вы порекомендуете?

РЕДАКТИРОВАТЬ

Я добавил autofocus на вход, и на нем отобразился датапик, а не только то, что мне нужно.

МОЙ КОНТРОЛЛЕР:

(function () {
  'use strict';

  angular
    .module('palpatine')
    .controller('RotationsCtrl', RotationsCtrl);

  /* @ngInject */
  function RotationsCtrl (Rotations, $scope, $rootScope, $state) {
    /*jshint validthis: true */
    var vm = this;

    activate();

    function activate () {

      $(document).ready(function () {

        var today = new Date();
        var dd = today.getDate();
        var mm = today.getMonth()+1; //January is 0!
        var yyyy = today.getFullYear();

        if(dd<10) {
            dd='0'+dd
        }

        if(mm<10) {
            mm='0'+mm
        }

        today = mm+'/'+dd+'/'+yyyy;

        $scope.today = moment().format("MM/DD/YYYY");

        console.log(today);

        $scope.datetimepickerOptions = {
          format: 'MM/DD/YYYY',
          defaultDate: today
        };


      });

    }
  }
})();
Теги:

4 ответа

1
Лучший ответ

Просто установите defaultDate на текущую дату. Это переопределит useCurrent, поэтому он больше не нужен.

В контроллере

$scope.datetimepickerOptions = {
    format: 'MM/DD/YYYY', 
    defaultDate: new Date()
};

HTML

<input type='text' 
       datetimepicker
       datetimepicker-options="{{datetimepickerOptions}}"/>

РЕДАКТИРОВАТЬ

Оказалось, что директива diosney/angular-bootstrap-datetimepicker имела ошибку с defaultDate в версии 0.1.3. Решение заключалось в том, чтобы обновить его до ведущей ветки.

bower.json

"angular-bootstrap-datetimepicker-directive": "#master"

и запустить

bower update
  • 0
    получил эту ошибку: Error: [$parse:syntax] Syntax Error: Token 'Date' is unexpected, expecting [}] at column 41 of the expression [{format: 'MM/DD/YYYY', defaultDate: new Date()}] starting at [Date()}].
  • 0
    Сожалею. Забыл это было угловатым. Смотрите мое редактирование.
Показать ещё 6 комментариев
0

Если вы просто ищете местозаполнитель в качестве текущей даты. Добавьте атрибут placeholder для ввода и используйте сегодня значение.

0

Можете ли вы попробовать этот код?

ссылка

<input type='text' 
       datetimepicker
       datetimepicker-options="{format: 'MM/DD/YYYY', defaultDate: '01/01/2016'}"/>

редактировать

Увидев обновленный вопрос, я заметил, что модуль datetimepicker не загружен в модуль. Внесите модуль, как указано ниже

angular
  .module('palpatine', [
    // Other injected modules.

    'datetimepicker'
  ]);
  • 0
    это то, что я делаю, но дата всегда одна и та же, мне нужно, чтобы она была сегодняшней
  • 0
    @TheUnonym В этом случае решение Рене Кросса должно работать, в противном случае вы можете создать jsfiddle / plunkr и сообщить нам ссылку?
Показать ещё 5 комментариев
0

Дайте фокус на ввод текста, затем размывайте его...

 angular.element('.your_input_class_name').trigger('focus');
 angular.element('.your_input_class_name').trigger('blur');

или

 document.getElementById('your_input_id').focus();
 document.getElementById('your_input_id').blur();
  • 0
    можешь дать мне немного кода? пожалуйста
  • 0
    ответ дополнен фрагментами кода
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню