【问题标题】:Open jquery datepicker in a specific month在特定月份打开 jquery datepicker
【发布时间】:2018-10-26 08:26:31
【问题描述】:

我有两个 jquery datepicket 来选择一个日期和直到。当用户选择起始日期时,我希望直到日期将默认日期设为起始日期 + 6 天。如果我使用 datepicker setDate 来设置它的工作日期,但它会填充表单中的直到输入字段。我不希望自动填写该字段,但只是当用户单击打开直到日历时,然后选择日期并且日历在正确的月份打开。我认为这可能可以使用 defaultDate 来完成,但它不适合我。

看一个小例子:

var defaultUntil = new Date(since);
defaultUntil.setDate(defaultUntil.getDate() + 6);
$('#until').datepicker("setDate", defaultUntil );

但是,这不起作用:

var defaultUntil = new Date(since);
defaultUntil.setDate(defaultUntil.getDate() + 6);
$('#until').datepicker("setDefaultDate", defaultUntil );

编辑: 根据@extempl cmets,我也尝试过:

var defaultUntil = new Date(since);
defaultUntil.setDate(defaultUntil.getDate() + 6);
$('#until').datepicker("defaultDate", defaultUntil );

这不是既不工作。我认为 defaultDate 仅适用于初始化变量。否则,必须使用 setDate。但是,这不是我需要的,因为我不希望在输入字段中设置日期。 我在 init 中尝试了 defaultDate,例如:defaultDate: +30,,它可以工作,但我需要在 setDefaultDate 之前应用逻辑,所以我有两个选择: 1.能够在逻辑中设置defaultDate,而不是在init中。 2.能够在init中执行defaultDate:function()之类的操作,并计算函数内部的值。可能吗?目前不适合我。

请注意,这与您为此建议的其他帖子不重复。

【问题讨论】:

  • 基本上没有setDefaultDate方法,但是有一个defaultDate选项:api.jqueryui.com/datepicker
  • 所以,是的,defaultDate 可以按照您的意愿完美运行 - 在特定日期打开,但在用户这样做之前不要将该日期输入到输入中。
  • 请看我的更新 cmets。
  • $('#until').datepicker({defaultDate: defaultUntil} )

标签: jquery datepicker


【解决方案1】:

要在初始化时设置defaultDate,您应该使用

$('#until').datepicker({defaultDate: defaultUntil} )

稍后你应该使用它来更新它

$('#until').datepicker( "option", "defaultDate", defaultUntil );

Reference

如果在日期选择器已经打开的情况下更新选项,您应该使用refresh 方法。

【讨论】:

  • 我忘记了“选项”:)
猜你喜欢
  • 2015-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多