【问题标题】: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'属性设置为当前时间。

标签: jquery timepicker


【解决方案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 });
    });
    

    【讨论】:

    • 他使用的是时间选择器而不是日期选择器
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多