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

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

当然在HTML中…

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

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


当前回答

用这个:

$ (" .datepicker”)。datepicker({dateFormat: 'dd-M-yy'})。datepicker('setDate', new Date());

以格式获取日期,例如:10-Oct-2019,这对用户来说更容易理解。

其他回答

var myDate = new Date();
var prettyDate =(myDate.getMonth()+1) + '/' + myDate.getDate() + '/' +
        myDate.getFullYear();
$("#date_pretty").val(prettyDate);

似乎很管用,但也许还有更好的办法。

解决方案是:

$(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”)。datepicker({dateFormat: 'dd-M-yy'})。datepicker('setDate', new Date());

以格式获取日期,例如:10-Oct-2019,这对用户来说更容易理解。

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属性并不会更新相关的控件。

为了在加载时将datepicker设置为某个默认时间(在我的情况下是当前日期),然后有选项选择另一个日期,语法是:

    $(function() { 
        // initialize the datapicker
        $("#date").datepicker();

        // set the time
        var currentDate = new Date();
        $("#date").datepicker("setDate",currentDate);

    //  set the options for the button  
        $("#date").datepicker("option",{
            dateFormat: 'dd/mm',
            showOn: "button",
          // whatever option Or event you want 
        });
  });