【问题标题】:unable to set default date with jquery ui's datepicker无法使用 jquery ui 的 datepicker 设置默认日期
【发布时间】:2015-12-18 23:48:37
【问题描述】:

我的 HTML:

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

我的 Javascript:

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

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

在此示例中,我希望在首次加载页面时文本框显示为“2015-12-18”。如果我单击文本框,则会出现日期选择器对话框,我可以输入不同的日期,但在我完成之前应该显示“2015-12-18”的日期。但事实并非如此,我不明白为什么。

我的 JS 小提琴:

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

【问题讨论】:

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


    【解决方案1】:

    试试这个。

    注意事项 -->

    1. defaultDate 选项将在datepicker calender 中设置日期,而不是在input 字段中。为此,您需要明确定义setDate
    2. 如果您在datepicker 中使用“setDate”,则无需添加defaultDate,因为datepicker 会自动从@987654331 中选择日期@字段。

      $(function() {
            $("#date").datepicker({dateFormat: 'yy-mm-dd'});
            $("#date").datepicker('setDate', new Date('2014-12-18')); 
        }); 
    

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

    【讨论】:

      【解决方案2】:

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

      $(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);
      });
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
      <input type="text" name="day" id="date">

      【讨论】:

        【解决方案3】:

        你可以这样应用它:

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

        【讨论】:

          【解决方案4】:

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

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

          【讨论】:

            猜你喜欢
            • 2013-01-12
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-01-08
            • 2011-06-22
            相关资源
            最近更新 更多