datepicker 禁用期货日期

Posted

技术标签:

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

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

  maxDate: 0

 maxDate: '0'

  maxDate: new Date();

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

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

【问题讨论】:

Set maxDate on jquery ui datepicker to certain date的可能重复 【参考方案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>

【讨论】:

以上是关于datepicker 禁用期货日期的主要内容,如果未能解决你的问题,请参考以下文章

JQuery ui - datepicker,禁用特定日期

从 html5 datepicker 禁用某些日期

如何从日期数组中禁用 Angular Material Datepicker 日期?

jQuery UI Datepicker - 如何动态禁用特定日期

ReactJS Ant Design - 在 DatePicker 中禁用小于任何默认日期的日期

Android DatePicker:根据当前日期禁用以前的日期