Jquery Datepicker只允许3周的日期范围选择

时间:2016-07-27 00:25:17

标签: jquery jquery-ui-datepicker

我们酒店网站上有一个jQuery Datepcker,我们只希望客人在我们的预订表格上选择不超过3周的时间。我试图在这个论坛和网络上找到一个解决方案,但没有找到一个可行的答案。以下是我们现在的代码。我尝试使用maxDate:'+ 3W'然而这将禁用除当前日期3周之外的所有日子。无论客人选择何种抵达日期,出发日期最多只允许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 );
  }
});

1 个答案:

答案 0 :(得分:1)

这是代码。

    $( ".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 );
  }
});

如果你有更好的方法,请发布。