无法使用jquery ui的datepicker设置默认日期

时间:2015-12-18 23:48:38

标签: javascript jquery jquery-ui datepicker jquery-ui-datepicker

我的HTML:

<input type="text" name="day" id="date">

我的Javascript:

$(function() {
    $('#date').datepicker({
        'dateFormat': 'yy-mm-dd',
        'defaultDate': '2015-12-18'
     });
});

#date文本框正在变成一个日期选择器,因此正在运行。格式是我告诉它的格式。但默认日期选项似乎没有做任何事情。

在此示例中,我希望首次加载页面时文本框显示为“2015-12-18”。如果我点击文本框,将出现datepicker对话框,我可以输入另一个日期,但是“2015-12-18”的日期应该显示,直到我完成。但事实并非如此,我不明白为什么。

我的JS小提琴:

https://jsfiddle.net/18000rLe/4/

4 个答案:

答案 0 :(得分:4)

试试这个。

要记住的事情 - &gt;

1。 datepicker选项会在calender input中设置日期,而不是setDate字段中的日期。为此,您需要明确定义setDate
2。如果您使用&#39; datepicker&#39;在defaultDate中,您不需要添加datepicker,因为input会自动从 $(function() { $("#date").datepicker({dateFormat: 'yy-mm-dd'}); $("#date").datepicker('setDate', new Date('2014-12-18')); }); 字段中选择日期。

{{1}}

示例:http://jsfiddle.net/DinoMyte/tXyLn/527/

答案 1 :(得分:0)

你可以使用它,它会给你日期:)

&#13;
&#13;
$(function() {
var today = new Date();
    var dd = today.getDate();
    var mm = today.getMonth()+1; //January is 0!
    var yyyy = today.getFullYear();
    if(dd < 10) {
        dd = '0' + dd;
    } 
    if (mm < 10) {
        mm = '0' + mm;
    } 
    today = yyyy + '-' + mm + '-' + dd;  
    $('#date').val(today);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="day" id="date">
&#13;
&#13;
&#13;

答案 2 :(得分:0)

你可以像这样申请:

$(function() {
    $('#date').datepicker({
        'dateFormat': 'yy-mm-dd',
      //'defaultDate': +7
      //'defaultDate': new Date(1985, 00, 01),
      'defaultDate': '2015-12-18'
     }).datepicker("setDate",new Date());
});

答案 3 :(得分:0)

我必须以这种方式传递日期,而不是Date对象:

$('#date input').datepicker({
  'defaultDate': {
    year: 1999,
    month: 11,
    day: 31
 });