JQuery UI datetimepicker: отключить текущее время и прошедшее время.На будущие даты включить все время - PullRequest
0 голосов
/ 12 декабря 2018

У меня возникли проблемы с отключением текущего времени ex.Если время даты 12 декабря 2018 года - 10:00 утра и Все прошедшие времена До 10:00 утра необходимо отключить.

Однако я бы хотел найти способзатем повторно включите в те времена, когда выбираете будущее дату и повторно включаете эти времена.

Вот скрипка.http://jsfiddle.net/arunpjohny/rngwefrh/4/

var min = new Date(),
  strMin = $.datepicker.formatDate("mm/dd/yy", min);
min.setHours(min.getHours() + 6);
min.setMinutes(min.getMinutes() + (15 - min.getMinutes() % 15))
$('#datePicker').datepicker({
  minDate: min,
  onSelect: function(v) {
    $('#timePicker').timepicker('option', 'minTime', v == strMin ? formatTime(min) : '12:00am');
  }
}).datepicker('setDate', min);

$('#timePicker').timepicker({
  'step': 15,
  'forceRoundTime': true,
  'timeFormat': 'H:i',
  'minTime': formatTime(min)
});
$('#timePicker').timepicker('setTime', min);


function formatTime(dt) {
  return dt.getHours() + ':' + ('0' + dt.getMinutes()).slice(-2) + (dt.getHours() >= 12 ? 'pm' : 'am')
}

<input id="datePicker" />
<input id="timePicker" />

Этот вопрос был взят сверху: Jquery Timepicker - время в расписании до 6 часов от текущего времени


Затем я обнаружил еще одну скрипку, которая была занята тем же вопросом stackoverflow, что похоже на то, что я искал: https://jsfiddle.net/n23h6ac1/

function formatAMPM(date) {
  var hours = date.getHours();
  var minutes = date.getMinutes();
  var ampm = hours >= 12 ? 'pm' : 'am';
  hours = hours % 12;
  hours = hours ? hours : 12; // the hour '0' should be '12'
  minutes = minutes < 10 ? '0'+minutes : minutes;
  var strTime = hours + ':' + minutes + '' + ampm;
  return strTime;
}

time_plus_6 = new Date(new Date().getTime()+1*3600*1000);
$('#timePicker').timepicker({
        'step': 15,
    'forceRoundTime': true,
    'timeFormat': 'H:i',
    'disableTimeRanges': [
        [0, formatAMPM(time_plus_6)]
    ]
});

$('#timePicker').timepicker('setTime', time_plus_6);

<input id="timePicker">

Это, однако, отключает текущее время И прошлых времен, но он делает возможным повторное включение ВСЕХ раз при выборе другой будущей даты.

Я прошу прощения за длинный вопрос.Любая помощь будет такой большой!

...