时间选择器禁用当前时间之前的时间

Posted

技术标签:

【中文标题】时间选择器禁用当前时间之前的时间【英文标题】:timepicker disable time before current time 【发布时间】:2015-07-21 23:11:45 【问题描述】:

我正在使用这个 jquery 时间选择器:http://jonthornton.github.io/jquery-timepicker/

它提供了一个开箱即用的输入下拉菜单,小时数增加了 30 分钟,这正是我所需要的。

如何在时间选择器中禁用当前时间之前的所有时间?

例如,如果当前时间是下午 4:10,则应禁用 04:30 之前的所有值。

API 仅提供以下信息:

disableTimeRanges 禁用某些时间范围的选择。输入是 一组时间对,例如 `[['3:00am', '4:30am'], ['5:00pm', '8:00 PM']]。间隔的开始将被禁用,但结束 惯于。默认值:[]

现有代码:

 var timeOptions = 
        'timeFormat': 'h:i A'
    ;
    $('#pickTime').timepicker(timeOptions);

【问题讨论】:

这里的代码太少了,我忘了添加。我现在已经编辑了。谢谢 您需要将'minTime'属性设置为当前时间。 【参考方案1】:

试试这个:

function getCurrentTime(date) 
    var hours = date.getHours(),
        minutes = date.getMinutes(),
        ampm = hours >= 12 ? 'pm' : 'am';

  hours = hours % 12;
  hours = hours ? hours : 12; // the hour '0' should be '12'
  minutes = minutes < 10 ? '0'+minutes : minutes;

  return hours + ':' + minutes + ' ' + ampm;


var timeOptions = 
        'timeFormat': 'h:i A',
        'disableTimeRanges': [['12am', getCurrentTime(new Date())]]
    ;

或者你可以使用最小时间:

var timeOptions = 
    'timeFormat': 'h:i A',
    'minTime': getCurrentTime(new Date())
;

【讨论】:

【参考方案2】:

尝试像这样使用 minDate 属性:

$(function () 
    $("#date").datepicker( minDate: 0 );
);

【讨论】:

他使用的是时间选择器而不是日期选择器

以上是关于时间选择器禁用当前时间之前的时间的主要内容,如果未能解决你的问题,请参考以下文章

禁用日期选择器过去的日期和时间

element禁用当前系统日期之前,为什么不生效

在 laravel 4 中使用引导日期选择器时禁用昨天之前的日期

在我当前的日期选择器代码中禁用特定日期的最快方法?

如何在 iOS 的 UIDatePicker 中禁用以前的时间

当前时间选择器