Datepicker:将输入值设置为当前日期

时间:2013-07-31 07:54:17

标签: jquery html twitter-bootstrap datepicker

我正在使用此插件进行Bootstrap,以便选择日期http://eternicode.github.io/bootstrap-datepicker/

我在这里工作FIDDLE 但我不知道这是否是正确的方法呢?或者,如果有办法通过插件来做到这一点。我试过,但我没有做对。

HTML:

Date: <input type="text" name="" class="datepicker" />

Jquery的:

var d = new Date();

var month = d.getMonth()+1;
var day = d.getDate();

var output =((''+month).length<2 ? '0' : '') + month +  '/' + ((''+day).length<2 ? '0' : '') + day + '/' + d.getFullYear();

$('.datepicker').datepicker();

$('.datepicker').val(output);

所以我使用Jquery获取当前日期然后我只需触发datepicker然后将输入值设置为当前日期。

任何其他想法或建议将不胜感激!

2 个答案:

答案 0 :(得分:4)

你的方法很好。

但是,你可以将它减少几个字符 - 如果你愿意的话 - 可以这样:

var d = new Date(),
    output = [
        ('0' + (d.getMonth() + 1)).substr(-2), 
        ('0' + d.getDate()).substr(-2), 
        d.getFullYear()
    ].join('/');

$('.datepicker').datepicker().val(output);

另外 - 如果你在日期上做更多的工作 - 看看某些日期库可能是个好主意,比如date.jssugar.js,那么你可以这样做:

$('.datepicker').val(new Date().toString('MM/dd/yyyy'));        // date.js
$('.datepicker').val(Date.create().format('{MM}/{dd}/{yyyy}')); // sugar.js

答案 1 :(得分:2)

默认情况下,Datepicker初始化为当前日期。 (demo

您也可以手动设置:

$("#datepicker").datepicker({defaultDate: new Date()}); //at initialization
$("#datepicker").datepicker("setDate",new Date());      //runtume

设置其他日期也很容易:

$("#datepicker").datepicker("setDate","14/12/2014");

使用自定义格式:

$("#datepicker").datepicker({ dateFormat: "yy-m-d" });
$("#datepicker").datepicker("setDate","14-12-4");

要获取该格式化值,请使用:

$("#datepicker").datepicker().val();

Documentation here.