【问题标题】:How to set minDate to current date in jQuery UI Datepicker?如何在 jQuery UI Datepicker 中将 minDate 设置为当前日期?
【发布时间】:2013-01-26 11:07:58
【问题描述】:

这是我的代码,它不能正常工作。我想将minDate 设置为当前日期。我该怎么做?

$("input.DateFrom").datepicker({
    changeMonth: true, 
    changeYear: true, 
    dateFormat: 'yy-mm-dd',
    maxDate: 'today',
    onSelect: function(dateText) {
        $sD = new Date(dateText);
        $("input#DateTo").datepicker('option', 'minDate', min);
    }

【问题讨论】:

  • min 在您的代码中神奇地来自哪里?当然你想通过 $sD 代替。
  • @AnthonyGrist 可能是全局变量?

标签: jquery jquery-ui-datepicker


【解决方案1】:

您可以通过在选项中添加 minDate: 0 将 minDate 指定为今天。

$("input.DateFrom").datepicker({
    minDate: 0,
    ...
});

演示http://jsfiddle.net/2CZtV/

文档http://jqueryui.com/datepicker/#min-max

【讨论】:

    【解决方案2】:

    您可以使用minDate 属性,如下所示:

    $("input.DateFrom").datepicker({
        changeMonth: true, 
        changeYear: true, 
        dateFormat: 'yy-mm-dd',
        minDate: 0, // 0 days offset = today
        maxDate: 'today',
        onSelect: function(dateText) {
            $sD = new Date(dateText);
            $("input#DateTo").datepicker('option', 'minDate', min);
        }
    });
    

    您还可以指定日期,如下所示:

    minDate: new Date(), // = today
    

    【讨论】:

      【解决方案3】:

      使用这个:

       onSelect: function(dateText) {
                       $("input#DateTo").datepicker('option', 'minDate', dateText);
                  }
      

      这可能有用: http://jsfiddle.net/injulkarnilesh/xNeTe/

      【讨论】:

        【解决方案4】:

        当前日期的 minDate 属性同时适用于 -> minDate:"yy-mm-dd" 或 minDate:0

        【讨论】:

          【解决方案5】:

          我使用这种方法设置开始日期,因为上述或其他代码对我不起作用

          $(document).ready(function() {
           $('#dateFrm').datepicker('setStartDate', new Date(yyyy, dd, MM));
           });

          【讨论】:

          • 除此之外,其他答案均无效。谢谢你。对于最大日期,只需将其更改为 ('setEndDate', ...)
          【解决方案6】:

          也可以使用:

          $("input.DateFrom").datepicker({
              minDate: 'today'
          });
          

          【讨论】:

            【解决方案7】:

            在 jQuery Datepicker 中将 minDate 设置为当前日期:

            $("input.DateFrom").datepicker({
                minDate: new Date()
            });
            

            【讨论】:

            • 不确定这是否会在已发布的答案中添加任何内容。
            • 代码答案应附有解释。仅仅删除一段代码并不能帮助 OP 理解您的解决方案。
            • minDate: 0 性能更好,因为它不需要实例化 Date 对象
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-11-21
            • 1970-01-01
            • 1970-01-01
            • 2017-06-11
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多