【问题标题】:Disable future dates after today in Jquery Ui Datepicker在 Jquery Ui Datepicker 中禁用今天之后的未来日期
【发布时间】:2014-03-27 05:04:41
【问题描述】:

我想在 Jquery Ui Datepicker 中禁用今天之后的所有未来日期

这是Demo

代码:

$( "#start_date" ).datepicker(

        { 
            maxDate: '0', 
            beforeShow : function()
            {
                jQuery( this ).datepicker('option','maxDate', jQuery('#end_date').val() );
            },
            altFormat: "dd/mm/yy", 
            dateFormat: 'dd/mm/yy'

        }

);

$( "#end_date" ).datepicker( 

        {
            maxDate: '0', 
            beforeShow : function()
            {
                jQuery( this ).datepicker('option','minDate', jQuery('#start_date').val() );
            } , 
            altFormat: "dd/mm/yy", 
            dateFormat: 'dd/mm/yy'

        }

);

【问题讨论】:

标签: javascript jquery jquery-ui datepicker


【解决方案1】:

试试这个

 $(function() {
  $( "#datepicker" ).datepicker({  maxDate: new Date() });
 });

或者您可以使用以下方式实现此目的:

$(function() {
  $( "#datepicker" ).datepicker({  maxDate: 0 });
});

Reference

DEMO

UPDATED ANSWER

【讨论】:

  • @Amit:谢谢你的回答,它很有魅力。
  • 不知何故这个$('#birth_date').datetimepicker({ timepicker:false, format:'d/m/Y', maxDate : '0', maxDateTime:new Date() }); 不起作用。
  • $(function() { $( "#datepicker" ).datepicker({ maxDate: new Date() }); });为我工作
【解决方案2】:

这对我有用endDate: "today"

  $('#datepicker').datepicker({
        format: "dd/mm/yyyy",
        autoclose: true,
        orientation: "top",
        endDate: "today"

  });

SOURCE

【讨论】:

  • 这个endDate: "today"帮助了我
【解决方案3】:

就我而言,我已将此属性赋予输入标签

data-date-start-date="0d" data-date-end-date="0d"

【讨论】:

  • 如果你有一个适用于所有日期选择器的通用 JS 代码,并且你需要在一个或两个字段中限制日期,那么这应该是首选。
【解决方案4】:

你可以这样做

$(function() {
    $( "#datepicker" ).datepicker({  maxDate: new Date });
  });

JSFiddle

仅供参考:在检查documentation 时,发现它也接受数值。

数字:从今天开始的天数。例如 2 代表两天 从今天开始,-1 代表昨天。

所以0 代表今天。所以你也可以这样做

 $( "#datepicker" ).datepicker({  maxDate: 0 });

【讨论】:

  • 请修改我的小提琴
  • @CodeHunter 我可以知道start_dateend_date 是哪一个吗?
  • 开始日期很明显
【解决方案5】:

将 maxDate 更改为当前日期

maxDate: new Date()

它将当前日期设置为最大值。

【讨论】:

    【解决方案6】:

    如果您要附加 Dtpicker,请使用以下代码

    $('#enddate').appendDtpicker({
        "dateOnly": true,
        "dateFormat": "YYYY-MM-DD",
        "closeOnSelected": true,
        maxDate: new Date()         
    });
    

    【讨论】:

      【解决方案7】:

      日期选择器没有maxDate 选项。我使用了这个 endDate 选项。效果很好。

      $('.demo-calendar-default').datepicker({
        autoHide: true,
        zIndex: 2048,
        format: 'dd/mm/yyyy',
        endDate: new Date()
      });
      

      【讨论】:

        【解决方案8】:

        //禁用当前日期之后的未来日期

        $("#datepicker").datepicker('setEndDate', new Date());
        

        //禁用当前日期之后的过去日期

        $("#datepicker").datepicker('setEndDate', new Date());
        

        【讨论】:

        • 您禁用过去日期的代码看起来不正确.. 不应该是开始日期吗?
        【解决方案9】:
        maxDate: new Date() 
        

        它对我来说工作正常,在日期范围选择器中禁用当前日期

        【讨论】:

        • 我认为这不会对现有答案增加任何内容。
        猜你喜欢
        • 2012-06-22
        • 1970-01-01
        • 2011-10-24
        • 2011-04-29
        • 1970-01-01
        • 2017-08-21
        • 1970-01-01
        相关资源
        最近更新 更多