【问题标题】:Get selected date before onChange event using flatpickr使用 flatpickr 在 onChange 事件之前获取选定的日期
【发布时间】:2019-11-18 17:48:04
【问题描述】:

我目前有一个开始日期和结束日期日期选择器,它会在页面加载时预先填充日期。如果用户在没有与日期选择器交互的情况下单击下一个按钮,我将无法获得选择器中的正确日期,并且只能将日期作为字符串。

不过,我可以从 onChange 事件中检索日期,但在某些情况下可能会为时已晚。

下面是我的代码示例来解释更多:

startDateAccomm = flatpickr("#StartDate", {
  minDate: instance.selectedDates[0],
  dateFormat: dateFormat,
  onChange: function (selectedDates, dateStr, instance) {
    if (selectedDates.length > 0) {
        endDateAccomm.config.minDate = selectedDates[0];

    if (startDateAccomm.selectedDates.length > 0) {
        startDateSelected = startDateAccomm.selectedDates[0].getFullYear() + "-" + (startDateAccomm.selectedDates[0].getMonth() + 1) + "-" + startDateAccomm.selectedDates[0].getDate();
    }

    if (endDateAccomm.selectedDates.length > 0) {
        endDateSelected = endDateAccomm.selectedDates[0].getFullYear() + "-" + (endDateAccomm.selectedDates[0].getMonth() + 1) + "-" + endDateAccomm.selectedDates[0].getDate();
    }
  }

  if () {
    //do something here.
  }
}

我想将最小日期设置为页面加载时预填充的日期,但由于在与日期选择器交互之前未定义 instance,因此无法以正确的格式获取。

非常感谢任何帮助。

【问题讨论】:

    标签: javascript date datepicker onchange flatpickr


    【解决方案1】:

    在尝试了 flatpickr https://flatpickr.js.org/events/#hooks 提供的各种事件和挂钩之后,我能够使用 onReady 事件。

    onReady: function (selectedDates, dateStr, instance) {
    
            startDateSelected = selectedDates[0].getFullYear() + "-" + 
            (selectedDates[0].getMonth() + 1) + "-" + selectedDates[0].getDate();            
    
        }, 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-26
      • 1970-01-01
      相关资源
      最近更新 更多