【问题标题】:Disable past date from actual and enable two days ahead in datepicker in input field从实际中禁用过去的日期并在输入字段中的日期选择器中提前两天启用
【发布时间】:2026-01-19 09:00:01
【问题描述】:

我有两个使用 datepicker 的 html 输入字段。

<input id="startdate" type="date" onchange="handler(event)" />
<input id="enddate" type="date" onchange="handler(event)" />

javascript 如何在输入 startdate 中禁用从今天开始的所有过去日期,在第二个中启用仅从实际开始 +2 天的日期。

【问题讨论】:

标签: javascript jquery html


【解决方案1】:

如果您使用本机 input[type="date"],您将拥有 maxmin 属性。 See MDN

此代码将min 属性动态设置为今天的格式。

var today = new Date();
var todayFormat = today.getFullYear() + '-' + leadZero(today.getMonth() + 1) + '-' + leadZero(today.getDate());
console.log(todayFormat);

document.querySelector('input').setAttribute('min', todayFormat);

function leadZero(number) {
  return (number < 10 ? '0' : '') + number;
}
&lt;input type="date"&gt;

如果您使用的是 jQuery-ui,则可以将 minDate 属性设置为 0,如以下答案:How to set minDate to current date in jQuery UI Datepicker?

【讨论】: