У меня есть пользовательская форма встречи с несколькими местами.По воскресеньям все места закрыты.По субботам открыто только несколько мест.Одно место настолько занято, что все встречи должны быть как минимум за 1 неделю.
Я нашел ответы, говорящие: «Вы не можете обновить текущий сборщик. Вам нужно уничтожить его, установить зарезервированные датыв массиве, и перестройте DatePicker с этими параметрами. ", что означало дублирование DatePicker, который находится в пользовательской форме со всеми его странными региональными форматами и параметрами.чем это того стоило, я обнаружил, что вы можете просто динамически использовать следующие 7 дней:
$('input.datepicker').datepicker( 'option', 'minDate', '+7d');
Это работает!Затем также обнаружил, что вы можете сказать текущему датчику, чтобы он переключился на сегодняшнюю дату, с помощью этого:
$('input.datepicker').datepicker('setDate', 'today');
Так я могу получить живой инструмент выбора даты, чтобы скрыть выходные?Я должен быть в состоянии, но вариант, который я нашел, терпит неудачу:
$('input.datepicker').datepicker({ beforeShowDay: jQuery.datepicker.noWeekends });
Я действительно хочу быть в состоянии сказать, «без выходных» или «без воскресений», без разрушения и восстановления, но это не популярнотема, так как большинству форм не нужно динамически обновлять средство выбора даты.
Вот простая скрипка того, что я хотел бы выполнить: https://jsfiddle.net/56qsau34/
РЕДАКТИРОВАТЬ: Таким образом, я был действительно близок, но у меня был неправильный метод (?) Для применения обновления кЖивая DatePicker.Если вы возьмете последнее предположение и напишите правильно, это сработает!
$('input.datepicker').datepicker( 'option', 'beforeShowDay', jQuery.datepicker.noWeekends );
РЕДАКТИРОВАТЬ # 2: Только для бедной души, которая находит это без окончательного решения.Когда вы поймете, что вам нужно «переключить» функцию noWeekends, эта функция, которая возвращает все даты с «true», очень пригодится:
$('input.datepicker').datepicker('option', 'beforeShowDay', function(d) {
var year = d.getFullYear(),
month = ("0" + (d.getMonth() + 1)).slice(-2),
day = ("0" + (d.getDate())).slice(-2);
var formatted = year + '-' + month + '-' + day;
//is it a sunday - this was the missing bit for all my specs
if (d.getUTCDay() != 0) {
return [true, "",""];
}else{
return [false, "",""];
}
}