首页 > 解决方案 > 取消选择所有日期时如何为日期选择器设置默认月份?

问题描述

我有一个使用 jQuery datepicker 的场景,用户正在编辑 9 月发生的事件,但当前月份是 6 月。

用户取消选择所有日期和日期选择器,但日期选择器跳回到六月。

所需的行为是日期选择器留在九月,没有选择日期。

是否有默认参数来处理此问题,而无需在 onSelect 挂钩中编写自定义处理程序?

标签: jquery-uidatepicker

解决方案


没有 datepicker 参数来设置默认月份,您必须通过默认日期选项设置它。有用的链接在这里

默认日期

类型:日期或数字或字符串

默认值:空

如果该字段为空白,则设置在首次打开时突出显示的日期。通过 Date 对象或当前 dateFormat 中的字符串指定实际日期,或从今天开始的天数(例如 +7)或值和句点字符串('y' 表示年份,'m' 表示月份, 'w' 表示几周,'d' 表示几天,例如 '+1m +7d'),或者 null 表示今天。

支持多种类型

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

代码示例:

使用指定的 defaultDate 选项初始化日期选择器:

$( ".selector" ).datepicker({
    defaultDate: +7
});

或者

$( ".selector" ).datepicker({ defaultDate: new Date() });

或者

$(function() {
  $('.selector').datepicker( {
    // ...
  });

  var default_date = new Date(2023, 10, 1);
  $(".selector").datepicker("setDate", default_date);
});

推荐阅读