如何在视图加载时将日期设置为占位符?

时间:2016-01-07 17:28:47

标签: javascript angularjs

我正在将此plugin与Angular一起使用,实际上是extension 当视图加载所有您看到的是空输入时,当您单击该输入时,日历会出现,今天的日期会显示在该输入中。

我需要的是在视图准备就绪时在输入中加载今天的日期。

这是我使用它的方式

<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 个答案:

答案 0 :(得分:1)

只需将defaultDate设为当前日期即可。这将覆盖useCurrent,因此不再需要它了。

在控制器中

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

<强> HTML

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

修改

事实证明,diosney/angular-bootstrap-datetimepicker-directive在0.1.3版本中有defaultDate的错误。解决方案是将其更新为master分支。

<强> bower.json

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

并运行

bower update

答案 1 :(得分: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();

答案 2 :(得分:0)

你能试试这段代码吗?

ref

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

修改

在看到更新的问题后,我发现模块中没有加载datetimepicker模块。按以下方式注入模块

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

    'datetimepicker'
  ]);

答案 3 :(得分:0)

如果您只是寻找占位符作为当前日期。在输入上添加占位符属性,并将今天用作值。