第二次单击日期选择器输入字段是清除值



我正在使用带有日期时间本地的本机Chrome日期选择器,因为它符合我们的需求:

<div class="form-group" id="schedule-div">
<div><label for="meeting-time">Schedule</label></div>
<input type="datetime-local" class="job-schedule form-control" id="schedule">
</div>

为了将"min"值设置为今天的日期,我使用了一些jQuery,如下所示:

$("#schedule").on("click", function (e) {
const min = new Date().toISOString().substring(0, 16);
$("#schedule").attr("min", min);
});

这解决了将"最小"日期设置为今天的问题。但是,我遇到的问题是,输入框中的日期旁边是一个输入时间的部分。问题是,一旦我选择了正确的日期,当我在输入字段的"时间"部分内单击时,它会清除输入 - 所以我刚刚通过日期选择器选择的日期消失了。我认为这是因为我的"点击"再次触发了我的jQuery。

我该如何处理这个问题,以便在我单击返回输入字段时日期不会清除?

on更改为one,它应该可以:)

$("#schedule").one("click", function (e) {
const min = new Date().toISOString().substring(0, 16);
$("#schedule").attr("min", min);
});

这使您的点击event只运行一次。

最新更新