Gijgo DateTimePicker прошлая дата отключена - PullRequest
0 голосов
/ 01 марта 2019

Я использовал Gijgo DateTimePicker в моем метеорном приложении с помощью реакции.Работает хорошо.Сейчас я пытаюсь отключить все прошедшие даты.Я нашел опцию disableDates в этом документах .Но есть возможность отключить конкретную дату.Как отключить все прошедшие даты, используя datetimepicker?Потому что мне нужны дата и время.

Пример Gijgo: 1

<input id="datepicker" width="312" />
 <script>
    $('#datepicker').datepicker({
        value: '11/10/2017',
        disableDates: [new Date(2017,10,11), '11/12/2017']
    });
 </script>

Пример Gijgo: 2

 <script>
    $('#datepicker').datepicker({
        value: '11/11/2017',
        disableDates:  function (date) {
            var disabled = [10,15,20,25];
            if (disabled.indexOf(date.getDate()) == -1 ) {
                return true;
            } else {
                return false;
            }
        }
    });
 </script>

Мой код:

 $("#dateTime").datetimepicker({
            format: "ddd, mmm d, yyyy h:MM TT",
            uiLibrary: "bootstrap4",
            iconsLibrary: "fontawesome",
            modal: true,
            footer: true,
            //value: "03/01/2019",
            disableDates: function(date) {
                const currentDate = new Date();
                return date > currentDate ? true : false;
            }
        });

1 Ответ

0 голосов
/ 01 марта 2019

Вы можете отключить прошедшую дату, выполнив что-то вроде

        $('#datetimepicker').datetimepicker({
        datepicker: { 
         disableDates:  function (date) {
            const currentDate = new Date();
            return date > currentDate ? true : false;
        }
        }

    });

Функция dateDisable будет сравнивать каждую дату, отображаемую в окне выбора текущей даты, и решать, отключать ее или нет, проверяя возвращаемое значение.

Если вы хотите разрешить текущий день, сделайте следующее

    $('#datepicker').datetimepicker({
    datepicker: {
    disableDates:  function (date) {
    // allow for today
     const currentDate = new Date().setHours(0,0,0,0);
     return date.setHours(0,0,0,0) >= currentDate ? true : false;
    }},

});

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Example</title>
    <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
    <script src="https://unpkg.com/gijgo@1.9.11/js/gijgo.min.js" type="text/javascript"></script>
    <link href="https://unpkg.com/gijgo@1.9.11/css/gijgo.min.css" rel="stylesheet" type="text/css" />
</head>
<body style="padding: 8px;">
 <input id="datetimepicker" width="312" />
 <script>
    $('#datetimepicker').datetimepicker({
        datepicker: {
        disableDates:  function (date) {
            const currentDate = new Date();
	    return date > currentDate ? true : false;
        }
        }
    });
 </script>
</body>
</html>
...