javascript - Gijgo DateTimePicker 过去日期禁用

标签 javascript reactjs date meteor datepicker

我在我的 meteor 应用程序中通过React使用了Gijgo DateTimePicker。运作良好。现在我正在尝试禁用所有过去的日期。我在这个docs中找到了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;
            }
        });

最佳答案

您可以通过执行类似的操作来禁用过去的日期

        $('#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/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="5136383b363e11607f687f6060" rel="noreferrer noopener nofollow">[email protected]</a>/js/gijgo.min.js" type="text/javascript"></script>
    <link href="https://unpkg.com/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c6a1afaca1a986f7e8ffe8f7f7" rel="noreferrer noopener nofollow">[email protected]</a>/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>

关于javascript - Gijgo DateTimePicker 过去日期禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54938241/

相关文章:

javascript - Jquery刷新新打开的窗口

javascript - React - 复选框不切换

javascript - 流路由器重定向数据插入 Meteor js

javascript - JS 按位移位运算符 '>>' 未返回正确结果

javascript - 如何使表格 <td> 和 <tr> 全宽?

javascript - 使用express.js 路线设置来 react 应用程序

PHP |计算剩余天数但考虑闰年

java - 为什么 Joda-Time-2.3 返回不正确的差异?

php - 使用 PHPExcel 函数将日期和日期时间写入 Excel 中作为文本

javascript - 为什么我的 Controller 会破坏我的代码?