【问题标题】:On datepicker calendar how to set date to property 'minDate' without disabling previous months在 datepicker 日历上,如何在不禁用前几个月的情况下将日期设置为属性“minDate”
【发布时间】:2019-02-08 15:27:46
【问题描述】:

我想将日期上的minDate 设置为日历#dateto,而不禁用前几个月。

默认情况下,日历#datefrom#dateto 将属性minDate 设置为today

today日期2019-2-8为例

目标是从“#datefrom”日历中选择日期2019-5-15,并在#dateto 日历中将此日期设置为minDate,日历#dateto 将设置为2019-5 -15 为@ 987654335@,我想正常移动到第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

【问题讨论】:

  • 你的问题是什么?
  • 嗨@NicoHaase,正如标题所示,我想在第二个日历上设置 minDate 但我需要能够看到前几个月(不可用但可见)。检查 jsfiddle 示例会很清楚,在第一个日历上选择 5 月 1 日,然后我希望在设置 minDate 时能够在第二个日历中看到几个月的二月/三月/四月。谢谢
  • 请编辑您的问题以包含所有信息。此外,请说明哪些方法有效,以及您目前在哪些方面努力前进
  • @NicoHaase 好的,我更正了。

标签: datepicker mindate


【解决方案1】:

我设法通过调用内部 datepicker 方法来移动日历,所以我希望它可以帮助您获得所需的内容。 Check my jsfiddle fork

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

达沃

【讨论】:

    【解决方案2】:

    您可能会使用 beforeShowDay http://api.jqueryui.com/datepicker/#option-beforeShowDay 在屏幕上显示之前,每个日期都会调用它。 您可以定义一个函数来手动检查日期是否可选(日期> minDate)并从函数中返回。 没试过,但我相信它应该工作。

    【讨论】:

      猜你喜欢
      • 2013-01-26
      • 1970-01-01
      • 1970-01-01
      • 2019-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多