#jquery #bootstrap-datetimepicker
#jquery #bootstrap-datetimepicker
Вопрос:
Я знаю, как отключить прошлые дни с текущей даты. работает с jsfiddle
но моя проблема в том, как я могу отключить предыдущие даты после выбора check in
даты.
мой jquery
$(function () {
$('#datetimepicker1').datetimepicker({
format: 'YYYY-MM-DD'
});
$('#datetimepicker2').datetimepicker({
format: 'YYYY-MM-DD'
});
$('#from_date').datetimepicker({
format: 'YYYY-MM-DD'
});
$('#to_date').datetimepicker({
format: 'YYYY-MM-DD'
});
});
мой взгляд
<div class='col-md-offset-2 col-sm-3 col-xs-6'>
<div class="form-group">
<div class='input-group date' id='datetimepicker1'>
<input type='text' name="from_date" id="from_date" class="form-control" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<div class='col-sm-3 col-xs-6'>
<div class="form-group">
<div class='input-group date' id='datetimepicker2'>
<input type='text' name="to_date" id="to_date" class="form-control" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
</div>
<div class='col-sm-1 col-xs-12'>
<button class="btn btn-info" id="search">SEARCH</button>
</div>
Комментарии:
1. Что вы подразумеваете под
check in
датой?2. Вы имеете в виду, что хотите отключить предыдущие даты после того, как пользователь выберет дату и с этой выбранной даты?
Ответ №1:
Вы пробовали подобное
$('#datetimepicker').datetimepicker({ minDate:new Date('2016-10-25')}); //set check in date here
Редактировать
Для форматирования даты
$('#datetimepicker').datetimepicker({
format: 'YYYY-MM-DD',
minDate:new Date('2016-10-25')
});
Редактировать
Устанавливается от и До Динамически
Пожалуйста, смотрите jsfiddle
Комментарии:
1. да, я пробовал, но если я настрою
minDate:new Date('2016-10-25')
, календарь не будет отображаться.2. пожалуйста, дайте ссылку на jsfiddle
3. спасибо, но если я установлю его, как я могу добавить
format: 'YYYY-MM-DD'
этот формат даты, важный для моей работы.4. спасибо, Как я могу изменить
2016-10-25
наselected check in date
в календаре проверки.5. Пожалуйста, посмотрите Мой обновленный ответ и посмотрите ссылку на скрипку, добавленную последней в моем ответе
Ответ №2:
В случае https://tempusdominus.github.io/bootstrap-4/Options /
вы можете попробовать установить диапазон разрешенных дат, например
JS
var tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate() 1);
var yesterday = new Date();
yesterday.setDate(yesterday.getDate() - 1);
$('#datetimepicker1').datetimepicker({
minDate: yesterday,
maxDate: tomorrow,
});
Ответ №3:
просто переопределите свойство minDate в вашем datetimepicker
var checkin = '2016-10-24';
$('#datetimepicker1').data("DateTimePicker").minDate(checkin);
Комментарии:
1. Я пробовал это, но это не работает. календарь не отображается после установки этого jquery.
Ответ №4:
Я полагаю, вы хотите настроить конечную дату так, чтобы она была больше даты начала, если это так, приведенный ниже код может вам помочь, он проверяет, меньше ли дата начала или равна конечной дате, и если конечная дата больше или равна начальной дате, то он устанавливает минимальный период времени для бронирований, вы можете установить его по своему усмотрению или просто установите .minDate(‘#start’).val() на конечную дату, журнал консоли разделы закомментированы, поскольку они предназначены только для целей отладки:
$('#Start').on("dp.change",
function(e)
{
if (dateSorter($('#End').val(), $(this).val()) === -1 || dateSorter($('#End').val(), $(this).val()) === 0)
// if ($('#End').val() < $(this).val())
{
// console.log("End date " $('#End').val() " is beofre start date: " $(this).val() " Setting minimum booking period");
$('#End').data("DateTimePicker").date(e.date.add(30, 'minutes'));
}
});
$('#End').on("dp.change",
function(e)
{
if (dateSorter($('#Start').val(), $(this).val()) === 1 || dateSorter($('#Start').val(), $(this).val()) === 0)
// if ($('#Start').val() >= $(this).val())
{
// console.log("Start date " $('#Start').val() " is after end date: " $(this).val() " Setting minimum booking period");
$(this).data("DateTimePicker").date(e.date.add(30, 'minutes'));
}
});
Если вы хотите добавить форматирование (это средство выбора даты и времени), вы можете использовать этот скрипт:
$(".datePickerTime").datetimepicker({
defaultDate: false,
useCurrent: false,
showClear: true,
showClose: true,
locale: "en-au",
format: "YYYY-MM-DD hh:mm A",
sideBySide: true,
toolbarPlacement: "bottom"
});
Только для средства выбора даты используйте как:
$(".datePicker").datetimepicker({
defaultDate: false,
useCurrent: false,
showClear: true,
showClose: true,
locale: 'en-au',
format: 'YYYY-MM-DD'
});