【问题标题】:datepicker disable futures datesdatepicker 禁用期货日期
【发布时间】:2019-07-19 23:01:10
【问题描述】:

我想使用数据选择器禁用未来日期(从后天开始),但它不起作用。我尝试了 3 个解决方案:

  maxDate: 0

 maxDate: '0'

  maxDate: new Date();

所有这些都不起作用。有谁知道为什么不?这是我的代码:

 $('#datepicker').datepicker({
   format: "dd-mm-yyyy",
   maxDate: 0
 });

【问题讨论】:

标签: javascript jquery jquery-ui datapicker


【解决方案1】:

使用 jQuery 3.3.1 和 jQuery UI 1.12.1,这可以正常工作:

<p>Date: <input type="text" id="datepicker"></p>
$('#datepicker').datepicker({
  maxDate: new Date()
});

JS Fiddle demo

【讨论】:

    【解决方案2】:

    我假设您使用的是bootstrap-datepicker。如果是这种情况,您应该使用endDate,而不是maxDate

    如果您使用其他脚本,将这些信息添加到您的问题中会很有帮助。

    【讨论】:

    • 嗯,这可能取决于这里开始使用的日期选择器脚本 - 并不是只有一个。
    【解决方案3】:

    如果您使用的是 jQuery UI,请考虑:

    http://api.jqueryui.com/datepicker/#option-maxDate

    最大可选择日期。设置为 null 时,没有最大值。

    支持多种类型:

    • 日期:包含最大日期的日期对象。
    • 数字:从今天开始的天数。例如,2 代表从今天起两天,-1 代表昨天。
    • 字符串:格式由dateFormat 选项定义的字符串,或相对日期。相对日期必须包含值和周期对;有效期间是 "y" 年,"m" 月,"w" 周,"d" 日。例如,"+1m +7d" 表示从今天起 1 个月零 7 天。

    我会尝试以下方法:

    $(function() {
      $('#datepicker').datepicker({
        format: "dd-mm-yyyy",
        maxDate: 2
      });
    });
    <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
    <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
    
    <p>Date: <input type="text" id="datepicker"></p>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-16
      • 1970-01-01
      相关资源
      最近更新 更多