【问题标题】:How to set plus two years in daterangepicker jquery如何在daterangepicker jquery中设置加两年
【发布时间】:2019-12-30 09:18:41
【问题描述】:

我有两个 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'
        },
      });
    }
  });

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

【问题讨论】:

    标签: javascript jquery datepicker daterangepicker


    【解决方案1】:

    我没有看到您引用了第一个日期输入。尝试获取它的值,将其转换为 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 选项,会容易得多。这样,您根本不必处理事件,图书馆会为您完成工作。

    【讨论】:

      【解决方案2】:

      您也可以使用 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" />
      

      【讨论】:

      • 最好直接在Stack Overflow上添加示例。
      猜你喜欢
      • 2021-01-23
      • 1970-01-01
      • 1970-01-01
      • 2016-01-17
      • 1970-01-01
      • 2016-04-07
      • 2017-02-24
      • 2017-04-23
      • 1970-01-01
      相关资源
      最近更新 更多