当前位置:  开发笔记 > 编程语言 > 正文

如何使用今天的日期预先填充jQuery Datepicker文本框?

如何解决《如何使用今天的日期预先填充jQueryDatepicker文本框?》经验,为你挑选了9个好方法。

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

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

当然还有HTML ......


当用户打开日历时,今天的日期很好地突出显示,但是如何让jQuery在今天的页面加载日期预先填充文本框本身,而无需用户做任何事情?99%的时间,今天的默认日期将是他们想要的.



1> CiscoIPPhone..:

更新:有报告称这不再适用于Chrome.

这很简洁,完成工作:

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


这是一个比公认的解决方案更好的解决方案!
最近的浏览器更新后,Chrome不再适用
这不起作用,首先你应该调用$(".date-pick").datepicker(); 然后是$(".date-pick").datepicker('setDate',new Date());
请参阅下面的更新代码..它有一些小修复
这个解决方案很优雅
作品.我正在设置`$(".date-pick").datepicker().datepicker('setDate',new Date()); `th
这是一个实际上对我有用的而不是公认的解决方案.谢谢
@QuinnDaley谢谢 - 我在我的回答中添加了警告.
在Firefox或IE中也不起作用

2> Ravi Ram..:

您必须首先调用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参数


$(".selector").datepicker().datepicker("setDate",new Date()); 将工作,并不会让jQuery两次搜索DOM.
使用jQueryUI 1.8我发现这个解决方案是唯一(理智)实现这一目标的方法.

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

似乎工作,但可能有更好的方式..


对于`setDate`,您也可以使用datepicker的常用相对表示法,例如,为了得到第二天只需键入`.datepicker('setDate','+ 1d')`.
有一种更简单的方法..请参阅下面的帖子.
哦 - 你是对的!检查出来 - http://www.w3schools.com/jsref/jsref_obj_date.asp - 月份是0-11 - 你必须加1 ..好奇地,getDate是1-31,但getMonth是0-11. .

4> Salman A..:

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在构造函数设置属性不会更新关联的控件.



5> 小智..:

设置为今天:

$('#date_pretty').datepicker('setDate', '+0');

设置为昨天:

$('#date_pretty').datepicker('setDate', '-1');

今天的日期之前之后的 任何天数等等.

请参阅jQuery UI>方法> setDate.



6> Marcus..:

解决方案是:

$(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!



7> 小智..:

此代码将确保使用您的datepicker格式:

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

无需重新应用格式,它在datepicker初始化时使用了datepicker预定义的一个(如果已经分配了它!);)



8> 小智..:

这个对我有用.

$('#inputName')
  .datepicker()
  .datepicker('setDate', new Date());



9> 小智..:

David K Egghead的代码完美无缺,谢谢!

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

我还设法修剪了一下它也有效:

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

推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有