TempusDominus,自动切换选择器

时间:2019-12-03 10:23:54

标签: javascript jquery bootstrap-4 tempus-dominus-datetimepicker

为避免用户忽略时间信息,我的目标是在用户选择日期之后立即显示时间选择器。

我的想法是只触发对时钟图标的点击(我能够使用jquery来做到这一点),但是:

  1. 我认为在tempusdominus库中使用jquery是不正确的。
  2. 如果我在页面上打开了2个tempusdominus控件,它将在所有元素中切换单击。

我想知道的是tempusdominus库中是否有可以触发点击的内容。我尝试使用_doAction("togglePicker"),但出现了JavaScript错误。

谢谢大家。

TempusDominusBootstrap4.prototype._doAction = function _doAction(e, action) {
  var lastPicked = this._getLastPickedDate();

  if ($(e.currentTarget).is('.disabled')) {
    return false;
  }

  action = action || $(e.currentTarget).data('action');
  switch (action) {
    /**** other code ****/

    case 'selectDay':
      {
        var day = this._viewDate.clone();
        if ($(e.target).is('.old')) {
          day.subtract(1, 'M');
        }
        if ($(e.target).is('.new')) {
          day.add(1, 'M');
        }
        this._setValue(day.date(parseInt($(e.target).text(), 10)), this._getLastPickedDateIndex());
        if (!this._hasTime() && !this._options.keepOpen && !this._options.inline) {
          this.hide();
        } else {
          // THIS IS MY EDIT 
          // show clock when selected date
          if (this._options.autoToggle) {
            //to do: find a way to act only on current datetimepicker element.
            $("span.fa.fa-clock-o").trigger("click");
          }
        }
        break;
      }

      /**** other code ****/
  }
  return false;
};

0 个答案:

没有答案