如何在两天内为Flatpickr时间选择器设置限制?

时间:2019-06-10 16:28:58

标签: javascript flatpickr

我正在使用flatpickr允许输入时间。我想将输入的时间从3:00 PM限制为3:00 AM(所以我想包括4:00 PM,5:00 PM ... 11:00 PM,12:00 PM,1:00 AM。 ..)。

当前代码:

flatpickr({enableTime: true, noCalendar: true, dateFormat: "H:i", minTime: "15:00", maxTime: "3:00"})

我也尝试过minTime: "15:00", maxTime: "27:00"

但是它们都不起作用。 Documentation的flatpickr。

1 个答案:

答案 0 :(得分:1)

可悲的是,当前无法通过本地configminTime, maxTime, minDate, maxDate道具来实现您描述的行为。 (我建议在他们的仓库中打开一张票证:flatpickr repo

但是,您可以使用以下解决方法:

const instanceOfPickr = flatpickr("#works", {
      onValueUpdate: function(obj, updatedTime) {
        if ((updatedTime > "03:00") && (updatedTime < "15:00")) {
          instanceOfPickr.setDate(new Date("June 10, 2019 15:00:00"));
        }
      },
      enableTime: true,
      noCalendar: true,
      time_24hr: true,
    });

这很笨拙,但是可以完成工作。

唯一的问题是-如果在时间设置为decrease arrow的小时或分钟上单击15:00,它将保留在那里。如果您想向这些箭头添加decrease行为以将时间花到03:00-您可以在DOM中专门为它们查找并将setDate(new Date("June 10, 2019 03:00:00")分配给您的TimePicker实例。

希望有帮助。