jQuery日期选择器默认日期

42

我在项目中使用了 JQuery Datepicker。问题是它没有加载当前日期,而是默认显示 2001 年 1 月 1 日的日期。请问如何更正默认日期,以便显示当前日期。


7
请提供一些代码以便我们进行工作,如果我们看不到您的错误,我们就无法帮助您! - DonSeba
1
他说得对,我们都是从头开始编写JQuery语法。如果您包含您的代码,我们可以提供更相关的答案。 - hayesgm
什么日期选择器?例如这个或者jQuery-UI日期选择器中的众多日期选择器之一?请注意,jQuery-UI日期选择器默认为今天,请确保您的系统日期/时间正确。 - Salman A
我使用jQuery-UI日期选择器。 - MACMAN
@Gijo:默认情况下,日期选择器将默认为附加控件中存在的日期或当前日期;除非您的代码告诉它以不同的方式行事。您能否编辑您的问题并发布代码? - Salman A
我认为这只是一个错误,日期选择器无法从其所使用的输入框中获取value属性。 - Wolfgang Fahl
6个回答

60

使用 defaultDate 选项

$( ".selector" ).datepicker({ defaultDate: '01/01/01' });

如果你改变了日期格式,请确保将输入更改为defaultDate(例如'01-01-2001')


2
如果您是动态引入此内容,请不要忘记用引号将结果包装起来。 虽然很简单,但我曾经为此苦思冥想了好几分钟... - Matt
1
此外,如果您设置了minDate选项,则在该日期之前的defaultDates将不起作用。 - Gecko

56

有趣的是,我发现datepicker的默认日期是当前日期,

但你可以通过以下方式设置日期:

$("#yourinput").datepicker( "setDate" , "7/11/2011" );

别忘了检查你的系统日期 :)


2
这可能是被接受的答案,但它是正确的。问题是设置默认值,这与无条件设置不同。 - James A Mohler

20

您是否正在使用此日期选择器http://jqueryui.com/demos/datepicker/? 如果是,则有选项设置默认日期。如果您没有更改任何内容,默认情况下它将显示当前日期。

无论如何,这将提供当前日期。

$( ".selector" ).datepicker({ defaultDate: new Date() });

3
这在我的情况下没有起作用:$(“.datepicker”).datepicker({dateFormat:'dd.mm.yy',defaultDate:new Date()});,我不得不添加一行额外的代码$(“.datepicker”).datepicker(“setDate”,“-0d”); - basZero

11

虽然defaultDate不会设置小部件,但需要类似以下的内容:

$(".datepicker").datepicker({
    showButtonPanel: true,
    numberOfMonths: 2

});

$(".datepicker[value='']").datepicker("setDate", "-0d"); 

8

我怀疑你的默认日期格式与脚本的默认设置不同。 请使用“dateformat”选项测试您的脚本。

$( "#datepicker" ).datepicker({ 
    dateFormat: 'dd-mm-yy'
});

您想使用的日期格式不是dd-mm-yy,


还要记住,dateFormat的值是区分大小写的。 - Muleskinner

0

$( ".selector" ).datepicker({ defaultDate: null });

并从后端返回空字符串


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