【发布时间】: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