Второй щелчок в поле ввода Datepicker - значение очистки - PullRequest
0 голосов
/ 08 января 2020

Я использую собственный Chrome datepicker с datetime-local, потому что он соответствует потребностям, которые у нас есть:

<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.

Как я могу справиться с этим, чтобы дата не очищалась, когда я возвращался в поле ввода?

1 Ответ

2 голосов
/ 08 января 2020

Измените on на one, и оно должно работать:)

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

Это заставит ваш клик event просто запустить один раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...