繁体   English   中英

如何在daterangepicker jquery中设置加两年

[英]How to set plus two years in daterangepicker jquery

我有两个 daterangepicker,我想根据第一个 daterangepicker 的值将加两年设置为第二个 daterangepicker 的 maxdate。 例如,如果我在第一个 daterangepicker 上将值设置为“2019-10-10”,那么 maxdate 应该设置为第二个 datepicker 为“2021-10-10”。

这是我尝试过但似乎不起作用的方法

      $('.date-select').daterangepicker({
        singleDatePicker: true,
        locale: {
          format: 'YYYY-MM-DD'
        },
      }).on("input change", function (e) {
        $("#end_date").daterangepicker({ singleDatePicker: true, minDate: -0,dateFormat: 'YYYY-MM-DD', maxDate: "+0D+0M+2Y" });
      });
      $('#end_date').daterangepicker({
        singleDatePicker: true,
        locale: {
          format: 'YYYY-MM-DD'
        },
      });
    }
  });

它显示无效的日期。 非常感谢帮助。 谢谢。

我根本没有看到您引用第一个日期输入。 尝试获取它的值,将其转换为 Date 对象,添加两年并将其设置为#end_date输入的新maxDate ,如下所示:

$('#start_date').daterangepicker({
  singleDatePicker: true,
    locale: {
    format: 'YYYY-MM-DD'
  },
}).on("input change", function (e) {
  let d = new Date( $('#start_date').val() );
  d.setFullYear(d.getFullYear() + 2);
  $('#end_date').daterangepicker({
    singleDatePicker: true, locale: {format: 'YYYY-MM-DD'}, maxDate: d
  });
});
$('#end_date').daterangepicker({
  singleDatePicker: true, locale: {format: 'YYYY-MM-DD'},
});

请参阅此JS Bin以获取演示。

顺便说一句:您可能有理由选择其他方式,但如果您不使用两个单独的输入并定义maxSpan选项会容易得多。 这样,您根本不必处理事件,库会为您完成工作。

您还可以使用 Datepicker 的“OnSelect”事件来实现相同的...

$("#From_Date").datepicker({
dateFormat: 'dd/mm/yy',
onSelect: function(dateStr) {
    var d = $.datepicker.parseDate('dd/mm/yy', dateStr);
    var years = parseInt(2);

    d.setFullYear(d.getFullYear() + years);

    $('#To_Date').datepicker('setDate', d);

  }
});

$("#To_Date").datepicker({
   dateFormat: 'dd/mm/yy'
});

这是它的html。

<input id="From_Date" />

<input id="To_Date" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM