在日期选择器日历上如何在不禁用前几个月的情况下将日期设置为 属性 'minDate'

On datepicker calendar how to set date to property 'minDate' without disabling previous months

我想将 minDate 日期设置为日历 #dateto 而不禁用之前的月份。

默认日历 #datefrom#dateto 已将 属性 minDate 设置为 today

例如 today 日期 2019-2-8

目标是从“#datefrom”日历中 select 日期 2019-5-15 并在 #dateto 日历中将此日期设置为 minDate,日历#dateto 将设置为 2019-5 -15 作为 minDate 我想正常移动到第 2 个月,现在我不能,因为我在前几个月被阻止了。

日期从

  $('#datefrom').datepicker({
           stepMonths: 1,
           numberOfMonths: 2,
           minDate : 'today',
           dateFormat: 'yy-mm-dd',
           showOtherMonths: true,
           onSelect: function(date){
             $('.datefrom-text').text(date);
             $('#dateto').datepicker('option', 'minDate', date);
           }
        });

日期至

$('#dateto').datepicker({
 stepMonths: 1,
 numberOfMonths: 2,
 minDate : 'today',
 dateFormat: 'yy-mm-dd',
 showOtherMonths: true,
 onSelect: function(date){
  $('.dateto-text').text(date);
 }
});

Here is my jsfiddle example

我通过调用内部日期选择器方法成功地移动了日历,所以我希望它能帮助你获得你需要的东西。 Check my jsfiddle fork

$.datepicker._selectMonthYear( '#dateto', document.getElementById("fakeMonthSelected"), "M" );

达沃

你或许可以使用 beforeShowDay http://api.jqueryui.com/datepicker/#option-beforeShowDay 在屏幕上显示之前,它会在每个日期被调用。 您可以定义一个函数,该函数将手动检查日期是否可选(date > minDate)和函数中的return。 没试过,但我相信它应该有用。