我有一个非常简单的jQuery Datepicker日历:
$(document).ready(function(){ $("#date_pretty").datepicker({ }); });
当然还有HTML ......
当用户打开日历时,今天的日期很好地突出显示,但是如何让jQuery在今天的页面加载日期预先填充文本框本身,而无需用户做任何事情?99%的时间,今天的默认日期将是他们想要的.
更新:有报告称这不再适用于Chrome.
这很简洁,完成工作:
$(".date-pick").datepicker('setDate', new Date());
您必须首先调用datepicker()> 然后使用'setDate'来获取当前日期.
$(".date-pick").datepicker(); $(".date-pick").datepicker("setDate", new Date());
或者在你的datepicker初始化之后链接你的setDate方法调用,如对这个答案的评论中所述
$('.date-pick').datepicker({ /* optional option parameters... */ }) .datepicker("setDate", new Date());
它不适用于
$(".date-pick").datepicker("setDate", new Date());
注意:此处描述了可接受的setDate参数
var myDate = new Date(); var prettyDate =(myDate.getMonth()+1) + '/' + myDate.getDate() + '/' + myDate.getFullYear(); $("#date_pretty").val(prettyDate);
似乎工作,但可能有更好的方式..
该setDate()
方法设置日期并更新关联的控件.方法如下:
$("#datepicker1").datepicker({ dateFormat: "yy-mm-dd" }).datepicker("setDate", "0");
演示
如文档中所述,setDate()
愉快地接受JavaScript Date对象,数字或字符串:
新日期可以是Date对象或当前日期格式的字符串(例如'01/26/2009'),从今天起的天数(例如+7)或一串值和句点('y'表示年,'m'持续数月,'w'持续数周,'d'持续数天,例如'+ 1m + 7d'),或为空以清除所选日期.
如果您想知道,defaultDate
在构造函数中设置属性不会更新关联的控件.
设置为今天:
$('#date_pretty').datepicker('setDate', '+0');
设置为昨天:
$('#date_pretty').datepicker('setDate', '-1');
在今天的日期之前或之后的 任何天数等等.
请参阅jQuery UI>方法> setDate.
解决方案是:
$(document).ready(function(){ $("#date_pretty").datepicker({ }); var myDate = new Date(); var month = myDate.getMonth() + 1; var prettyDate = month + '/' + myDate.getDate() + '/' + myDate.getFullYear(); $("#date_pretty").val(prettyDate); });
谢谢grayghost!
此代码将确保使用您的datepicker格式:
$('#date-selector').datepicker('setDate', new Date());
无需重新应用格式,它在datepicker初始化时使用了datepicker预定义的一个(如果已经分配了它!);)
这个对我有用.
$('#inputName') .datepicker() .datepicker('setDate', new Date());
David K Egghead的代码完美无缺,谢谢!
$(".date-pick").datepicker(); $(".date-pick").datepicker("setDate", new Date());
我还设法修剪了一下它也有效:
$(".date-pick").datepicker().datepicker("setDate", new Date());