我有一个非常简单的jQuery Datepicker日历:
$(document).ready(function(){
$("#date_pretty").datepicker({
});
});
当然在HTML中…
<input type="text" size="10" value="" id="date_pretty"/>
今天的日期是很好的突出显示为用户时,他们带来的日历,但我如何让jQuery预填充文本框本身与今天的日期在页面加载,而不需要用户做任何事情?99%的情况下,今天的日期默认是他们想要的。
你必须首先调用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参数
setDate()方法的作用是:设置日期并更新相关控件。以下是如何做到的:
$("#datepicker1").datepicker({
dateFormat: "yy-mm-dd"
}).datepicker("setDate", "0");
Demo
正如在文档中提到的,setDate()愉快地接受JavaScript Date对象,数字或字符串:
新的日期可以是date对象,也可以是当前日期中的字符串
格式(如。'01/26/2009')、从今天算起的天数(例如+7)或a
值和周期字符串('y'表示年,'m'表示月,'w'表示
Weeks,“d”表示天。'+1m +7d'),或null以清除所选对象
日期。
如果您想知道,在构造函数中设置defaultDate属性并不会更新相关的控件。
你有两个选择:
选项A)在日历中标记为“活动”,仅当您单击输入时。
Js:
$('input.datepicker').datepicker(
{
changeMonth: false,
changeYear: false,
beforeShow: function(input, instance) {
$(input).datepicker('setDate', new Date());
}
}
);
Css:
div.ui-datepicker table.ui-datepicker-calendar .ui-state-active,
div.ui-datepicker table.ui-datepicker-calendar .ui-widget-content .ui-state-active {
background: #1ABC9C;
border-radius: 50%;
color: #fff;
cursor: pointer;
display: inline-block;
width: 24px; height: 24px;
}
选项B)默认输入今天。
您必须首先填充datepicker。
$("input.datepicker").datepicker().datepicker("setDate", new Date());