【问题标题】:materalizecss datepicker dynamic optionsmatralizecss 日期选择器动态选项
【发布时间】:2020-01-10 12:44:20
【问题描述】:

我有 2 个使用 materalizecss 的日期选择器
开始日期和结束日期
我希望当我更改 start_date 时,我需要在 runtime 更改 end_date 的几个 optionsbasis of selected start date 像 (max_date , default_date/selected_date...)

 $('#txtEndDate').datepicker({
  format:"yyyy-mm-dd", 
  showClearBtn:true,
  setDefaultDate:true
});


$('#txtStartDate').datepicker({
  //defaultDate:expDate,
  format:"yyyy-mm-dd",
  showClearBtn:true,
  onClose(){ 
    var reminderDate = new Date($('#txtStartDate').val());
    var grace_days=  60;//from another input
    if(grace_days >0 ){  
      reminderDate.setDate(expDate.getDate() - grace_days);
      //$('#endDate').datepicker('gotoDate',reminderDate); 
      //$('#endDate').datepicker('setDate',reminderDate);  
      //$('#endDate').datepicker('option','maxDate',reminderDate);//this not working  
    }
  }
});

【问题讨论】:

    标签: jquery materialize options


    【解决方案1】:

    您需要做的是在 startDate 的 onClose 期间运行 #endDate 初始化:

    $('#startDate').datepicker({
        format:"yyyy-mm-dd",
      showClearBtn:true,
      onClose(){ 
        var reminderDate = new Date($('#startDate').val());
        var grace_days=  60;//from another input
        if(grace_days >0 ){  
    
          $('#endDate').datepicker({
              format:"yyyy-mm-dd", 
              showClearBtn:true,
              defaultDate: reminderDate,
              setDefaultDate:true,
              maxDate:reminderDate
          });
    
        }
      }
      });
    

    检查此代码笔:

    https://codepen.io/doughballs/pen/abOJovW

    请注意,我必须删除对 expDate 的引用,因为它从未被声明并且正在破坏函数。你应该能够调整它以获得你需要的东西:)

    【讨论】:

      猜你喜欢
      • 2014-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-01
      • 1970-01-01
      • 2019-04-15
      • 1970-01-01
      相关资源
      最近更新 更多