在Materialize中的OnSelect Datepicker中设置两个输入之间的最大日期+ 9

时间:2018-08-14 07:48:02

标签: javascript jquery datepicker materialize

我在日期和日期之间有两个输入,我想将maxDate设置为9天参考第一次输入。我使用的是Materialise最新版本。

示例:当我在id="to"中选择 2018年8月1日时,maxDate是 2018年8月10日

这是我的HTML

<input type="text" class="datepicker" id="from" value="from">
<input type="text" class="datepicker" id="to" value="to">

和我的JS

$('#from').datepicker({
  autoClose : true,
  onSelect: function() {
    var minDate = $(this).setDate(new Date() + 9);
    $("#to").datepicker("option", "minDate", minDate)
   }
});
$("#to").datepicker({
  autoClose : true,
  onSelect: function() {
    var maxDate = $(this).setDate(new Date() - 9);
    $("#from").datepicker("option", "maxDate", maxDate)
  }
})

我创建onSelect像这样不起作用。我使用的是Materialize,但在这里堆叠。有人帮忙吗?谢谢.. 演示:https://jsfiddle.net/dedi_wibisono17/rt9780xs/58/

1 个答案:

答案 0 :(得分:1)

您应将onSelect()更改为此:

onSelect: function() {

       var toYear = this.date.getFullYear();
       var toMonth = this.date.getMonth();
       var toDay = this.date.getDate();
       maxDate = new Date(toYear, toMonth, toDay + 9);

       $("#to").datepicker({
          format : 'dd mmm yyyy',
          defaultDate: maxDate,
          setDefaultDate:maxDate
       })
}

这是解决方案:jsfiddle