【问题标题】:OnSelect Datepicker in Materialize to set Max Date + 9 between two inputsMaterialize 中的 OnSelect Datepicker 以在两个输入之间设置 Max Date + 9
【发布时间】:2018-08-14 07:48:01
【问题描述】:

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

示例:当我选择 2018 年 8 月 1 日时,id="to" 中的 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/

【问题讨论】:

    标签: javascript jquery datepicker materialize


    【解决方案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

    【讨论】:

    • 嗨@bahman,我的意思是第二个输入是由第一个输入引用的,例如,如果我选择“2018 年 8 月 1 日”,那么第二个输入中的 maxDate 是“2018 年 8 月 10 日”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-16
    • 2012-06-05
    相关资源
    最近更新 更多