【问题标题】:Jquery Datepicker only allow 3 weeks date range selectionJquery Datepicker 只允许选择 3 周的日期范围
【发布时间】:2016-07-27 00:25:16
【问题描述】:

我们的酒店网站上有一个 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 );
  }
});

【问题讨论】:

  • 所以我尝试了 maxdate: '+21d',但从今天开始只限制了 21 天。我想从到达日期开始限制 21 天。我也尝试了 startDate: new Date(),但这打破了它。有人坐在我的答案上..
  • 我自己终于弄明白了。这是一种简单的方法。大多数文章都过于广泛,无法做如此简单的事情。

标签: jquery jquery-ui-datepicker


【解决方案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 );
  }
});

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

【讨论】:

    猜你喜欢
    • 2020-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多