我有两个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的评论,我也尝试过:
var defaultUntil = new Date(since);
defaultUntil.setDate(defaultUntil.getDate() + 6);
$('#until').datepicker("defaultDate", defaultUntil );
这都不起作用。我认为defaultDate仅适用于init变量。否则,必须使用setDate。但是,这不是我所需要的,因为我不想在输入字段中设置日期。
我曾在初始化中尝试过defaultDate:defaultDate: +30,
,但是它可以工作,但是我需要在setDefaultDate之前应用逻辑,因此我有两种选择:
1.能够在逻辑中而不是在init中设置defaultDate。
2.能够在init中执行类似于defaultDate:function()的操作,并计算函数内部的值。可能吗?目前不为我工作。
请注意,由于这个原因,这与您建议的其他帖子没有重复。