Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在daterangepicker jquery中设置加上两年_Javascript_Jquery_Datepicker_Daterangepicker - Fatal编程技术网

Javascript 如何在daterangepicker jquery中设置加上两年

Javascript 如何在daterangepicker jquery中设置加上两年,javascript,jquery,datepicker,daterangepicker,Javascript,Jquery,Datepicker,Daterangepicker,我有两个daterangepicker,我想根据第一个daterangepicker的值将第二个daterangepicker的maxdate设置为+2年。例如,如果我在第一个daterangepicker上将值设置为“2019-10-10”,那么maxdate应该设置为第二个datepicker的“2021-10-10” 这是我尝试过的,但似乎不起作用 $('.date-select').daterangepicker({ singleDatePicker: tru

我有两个daterangepicker,我想根据第一个daterangepicker的值将第二个daterangepicker的maxdate设置为+2年。例如,如果我在第一个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'
        },
      });
    }
  });

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

我看你根本没有引用第一个日期输入。尝试获取其值,将其转换为日期对象,添加两年,并将其设置为
#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'},
});
看这个演示


顺便说一句:您可能有其他选择的理由,但如果您不使用两个独立的输入并定义
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" />

最好直接添加堆栈溢出示例。