【问题标题】:Bootstrap timepicker gets NaN while increasing or decreasing both hours and minutesBootstrap timepicker 在增加或减少小时和分钟的同时获得 NaN
【发布时间】:2016-05-06 21:04:32
【问题描述】:

我试图弄清楚为什么这个uib-datepicker 总是显示NaN,同时增加或减少小时和分钟。

    <uib-timepicker ng-model="aliasCtrl.beginning"
                    hour-step="hStep"
                    minute-step="mStep"
                    readonly-input="false"
                    show-meridian="ismeridian"></uib-timepicker>

它与以下控制器链接:

angular.module('app')
  .controller(
    'newController', ['$http', '$uibModalInstance', 'params', function($http, $uibModalInstance, params) {

      var rootScope = this;

      rootScope.begin= params.beg.format('hh:mm');

      rootScope.beginning = new Date();
      rootScope.beginning.setHours(parseInt(this.begin.split(':')[0]));
      rootScope.beginning.setMinutes(parseInt(this.begin.split(':')[1]));
      ...

在与 datepicker 进行任何交互之前,它会显示预编译值...params.begMoment

【问题讨论】:

  • 尝试创建一个日期对象,并为其设置小时和分钟,然后将日期对象设置为rootScope.beginning (var a=new Date();a.setHours(...);rootScope.beginning=a;)
  • 原谅我对 JavaScript 的无知,但我做了你写的,但这样的事情可能是一样的吗? var aDate = new Date(); aDate.setHours(parseInt(this.inizio.split(':')[0])); aDate.setMinutes(parseInt(this.inizio.split(':')[1])); rootScope.dataInizio = aDate; 无论如何,它不起作用。与以前相同的 NaN。

标签: javascript angularjs angular-ui-bootstrap momentjs bootstrap-datetimepicker


【解决方案1】:

我只是忘了把aliasCtrl.放在hStepmStep的开头,这意味着时间选择器不知道增加或减少多少小时和分钟。

应该是这样的:

 <uib-timepicker ng-model="aliasCtrl.beginning"
                hour-step="aliasCtrl.hStep"
                minute-step="aliasCtrl.mStep"
                readonly-input="false"
                show-meridian="aliasCtrl.ismeridian"></uib-timepicker>

因为在我的控制器中我还有rootScope.hstep = 1;rootScope.mstep = 30;rootScope.ismeridian = false;

我没想到。

【讨论】:

    猜你喜欢
    • 2014-04-04
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多