我有一个非常简单的jQuery Datepicker日历:

$(document).ready(function(){
    $("#date_pretty").datepicker({ 
    });
});

当然在HTML中…

<input type="text" size="10" value="" id="date_pretty"/>

今天的日期是很好的突出显示为用户时,他们带来的日历,但我如何让jQuery预填充文本框本身与今天的日期在页面加载,而不需要用户做任何事情?99%的情况下,今天的日期默认是他们想要的。


当前回答

这段代码将确保使用你的datepicker的格式:

$('#date-selector').datepicker('setDate', new Date());

不需要重新应用格式,它使用预定义的datepicker -由你在datepicker初始化(如果你已经分配了它!);)

其他回答

你必须首先调用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属性并不会更新相关的控件。

更新:有报道称,这将不再适用于Chrome浏览器。

这句话简明扼要,能起到作用(过时):

$(".date-pick").datepicker('setDate', new Date());

这是不那么简洁的,利用链接允许它在chrome中工作(2019-06-04):

$(".date-pick").datepicker().datepicker('setDate', new Date());

试试这个

$(this).datepicker("destroy").datepicker({
            changeMonth: false, changeYear: false,defaultDate:new Date(), dateFormat: "dd-mm-yy",  showOn: "focus", yearRange: "-5:+10"
        }).focus();
$(function()
{
$('.date-pick').datePicker().val(new Date().asString()).trigger('change');
});

来源:http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/datePickerDefaultToday.html