如何使用已选择的值设置 jQuery datepicker 的默认日期
Posted
技术标签:
【中文标题】如何使用已选择的值设置 jQuery datepicker 的默认日期【英文标题】:How to set default date of jQuery datepicker with value already selected 【发布时间】:2014-05-16 09:20:22 【问题描述】:我在 startDate - endDate 设置中有两个日期选择器,并且需要 endDate 选择器的日历在所选 startDate 的月份打开。
我已尝试将默认日期设置如下(日历打开的日期))
$("#endDate").datepicker(
defaultDate: $("#StartDate").datepicker("getDate"))
);
但是根据我的阅读和尝试,似乎只有在相关日期选择器还没有选定日期的情况下才能设置它,这在我的页面上总是如此,我想通常是这样的一般的日期选择器,所以我错过了一些明显的东西吗?
目前我正在将 endDate 设置为 startDate 值,当它被设置时,它可以按您的预期工作,但并不完全正确。我不想更新 endDate,我只想在开始日期的月份打开日历。
这个小提琴可能有助于说明问题:http://jsfiddle.net/j7cNk/
任何想法表示赞赏。
【问题讨论】:
【参考方案1】:您可以使用showCurrentAtPos
选项来显示某个月份
var m1 = $("#StartDate").datepicker("getDate").getMonth();
m2 = $("#endDate").datepicker("getDate").getMonth();
$('#endDate').datepicker('option', 'showCurrentAtPos', m2-m1 );
【讨论】:
感谢@Adeneo,这就是我目前正在做的事情,它可以按您的预期工作,但并不完全正确。我不想更新 endDate,我只想在开始日期的月份打开日历... @GP24 - 好的,将答案更改为将今天和月份的日期设置为与其他日期选择器相同。您可以将一个日期对象集传递给 getDate。 我希望有一种方法可以让 endDate 日历小部件在 startDate 月份打开。我想完全避免更改 endDate,这样如果用户已经选择了一个范围并想用不同的 startDate 设置第二个,他们就不需要再次选择 endDate。如果你明白我的意思吗? @GP24 - 你可以使用 showCurrentAtPos 选项 -> jsfiddle.net/adeneo/r64Dy 我不太确定,但是如果您将这两个 div 更改为输入,您将非常接近场景...以上是关于如何使用已选择的值设置 jQuery datepicker 的默认日期的主要内容,如果未能解决你的问题,请参考以下文章
日期时间选择器显示在模态 jquery-confirm 模态后面