2016-07-27 2 views
0

У нас есть датчанин jQuery на нашем веб-сайте отеля, и мы только хотим разрешить гостю выбрать не более 3 недель в нашей форме бронирования. Я попытался найти решение на этом форуме и в Интернете, но не нашел ответа, который бы сработал. Ниже приведен код, который мы имеем сейчас. Я попытался использовать maxDate: «+ 3W», однако это отключит все дни, кроме 3 недель с текущей даты. Независимо от того, какой гость выбирает для даты прибытия, дата вылета должна быть рассчитана только на 3 недели. Любая помощь будет оценена по достоинству.JQuery Datepicker разрешает выбор диапазона на 3 недели

$(".datepicker[name='A']").datepicker({ 
    showOn: 'both', 
    defaultDate: "+1d", 
    dateFormat: 'mm/dd/yy', 
    minDate: "+1D",  
    changeMonth: false, 
    buttonText: '<i class="fa fa-calendar"></i>', 
    numberOfMonths: 1, 
    onClose: function(selectedDate) { 
    $(".datepicker[name='D']").datepicker("option", "minDate", selectedDate); 
    } 
}); 
$(".datepicker[name='D']").datepicker({ 
    showOn: 'both', 
    defaultDate: "+2d",  
    dateFormat: 'mm/dd/yy',   
    changeMonth: false, 
    buttonText: '<i class="fa fa-calendar"></i>', 
    numberOfMonths: 1, 
    onClose: function(selectedDate) { 
    $(".datepicker[name='A']").datepicker("option", "maxDate", selectedDate); 
    } 
}); 
+0

Так что я пробовал maxdate: '+ 21d', но это ограничивает только 21 дней с сегодняшнего дня. Я хочу ограничить 21 день с даты прибытия. Я также попробовал startDate: new Date(), но это сломало его. Кто-то сидит на моем ответе. – Duranic

+0

Наконец-то понял это сам. Это простой способ сделать это. Большинство статей были слишком обширными, чтобы сделать что-то настолько простое. – Duranic

ответ

0

Вот код.

$(".datepicker[name='A']").datepicker({ 
    showOn: 'both', 
    defaultDate: "+1d", 
    dateFormat: 'mm/dd/yy', 
    minDate: "+2D",  
    changeMonth: false, 
    buttonText: '<i class="fa fa-calendar"></i>', 
    numberOfMonths: 1, 
    onClose: function(selectedDate) { 
    console.log(new Date(new Date(selectedDate).getTime() + 1814400000)); 
    $(".datepicker[name='D']").datepicker("option", "minDate", selectedDate); 
    $(".datepicker[name='D']").datepicker("option", "maxDate", new Date(new Date(selectedDate).getTime() + 1814400000)); 
    } 
}); 
$(".datepicker[name='D']").datepicker({ 
    showOn: 'both', 
    defaultDate: "+2d",  
    dateFormat: 'mm/dd/yy',   
    changeMonth: false, 
    buttonText: '<i class="fa fa-calendar"></i>', 
    numberOfMonths: 1, 
    onClose: function(selectedDate) { 
    $(".datepicker[name='A']").datepicker("option", "maxDate", selectedDate); 
    } 
}); 

Если у вас есть лучший способ, пожалуйста, опубликуйте его.