打开日期选择器并设置特定日期

3

我有一个填写过去日期的输入框。我想要做的就是在当前日期打开该输入框的日期选择器。

例如:输入框填写了2011年11月10日,单击应该打开以2013年2月5日为起始日期的日期选择器

HTML:

<input type="text" id="datepicker" data-today="5-2-2013" value="10-11-2011" />

Javascript:

var currentDate = $.datepicker.parseDate('dd-mm-yy', $('#datepicker').data('today'));
    $('#datepicker').datepicker({
        defaultDate: currentDate,
        dateformat: 'dd-mm-yy'
    });

使用这个代码示例后,日期选择器仍会在2011年11月打开。


1
你使用的是哪个版本的jQuery和jQuery UI?此外,你是否在跨浏览器时遇到了这个问题?当我在Chrome中使用最新版本的脚本复制你的代码到这个jsfiddle时,它似乎按照你的期望行为。 - Ruben Infante
嘿,你说得对!我会尝试找出示例和我的代码之间的区别。 - PcPulsar
感谢您的评论,我发现jquery.ui-datepicker-nl.js引起了冲突。如果我找到当前问题的解决方案,我会发布更新。 - PcPulsar
1个回答

1

你可以尝试 setDate()

设置日期选择器的日期。新日期可以是一个日期对象或当前日期格式的字符串(例如,“01/26/2009”),从今天开始的天数(例如,“+7”)或值和周期的字符串(“y”表示年,“m”表示月,“w”表示周,“d”表示日,例如,“+1m +7d”),或null以清除所选日期。

$( "#datepicker" ).datepicker( "setDate", currentDate );

1
不幸的是,setDate 也会改变输入框的值。我只想要输入框原来的值,并在今天打开日期选择器。 - PcPulsar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接