在JQuery DatePicker中更改minDate选项不起作用

Dra*_*aco 31 jquery-ui datepicker

我已经声明了一个日期选择器实例,如下所示:

    $("#datePickerId").datepicker(
    { dateFormat: 'DD, d MM yy',
      minDate: 0,
      showOn: 'button',
      buttonImage: '../../images/calendar.gif',
      buttonImageOnly: true,
      hideIfNoPrevNext: true
    }
   );
Run Code Online (Sandbox Code Playgroud)

我现在想要更改为minDate选项,所以我这样做:

$('#datePickerId').datepicker('option', 'minDate', 3);
Run Code Online (Sandbox Code Playgroud)

但没有任何反应.我想做其他事吗?还有其他可能的原因吗?

Dun*_*moo 61

如何动态改变minDate(初始化后)

上面的答案解决了如何在init设置默认的minDate,但问题实际上是如何动态改变minDate,下面我还阐明了如何设置默认的minDate.

原始问题的所有错误都是设置的minDate值应该是一个字符串(不要忘记引号):

$('#datePickerId').datepicker('option', 'minDate', '3');
Run Code Online (Sandbox Code Playgroud)

minDate也接受一个日期对象,一个常见的用途就是有一个你想要计算的结束日期,所以这样的东西可能有用:

$('#datePickerId').datepicker(
    'option', 'minDate', new Date($(".datePop.start").val())
);
Run Code Online (Sandbox Code Playgroud)

如何设置默认minDate(初始化)

只是回答这个问题以获得最佳实践; minDate选项需要以下之一:

  1. 当前dateFormat OR中的字符串
  2. 从今天开始的天数(例如+7)或
  3. 一串价值和期间('y'表示年份,'m'表示数月,'w'表示持续数周,'d'表示天数,例如'-1y -1m')

@bogart将字符串设置为"0"是一个解决方案,因为它满足上面的选项2

$('#datePickerId').datepicker('minDate': '3');
Run Code Online (Sandbox Code Playgroud)

minDate的jQuery UI文档


小智 25

德拉科,

你可以这样做:

$("#datePickerId").datepicker(
    { dateFormat: 'DD, d MM yy',
      minDate: new Date(2009, 10 - 1, 25), // it will set minDate from 25 October 2009
      showOn: 'button',
      buttonImage: '../../images/calendar.gif',
      buttonImageOnly: true,
      hideIfNoPrevNext: true
    }
   );
Run Code Online (Sandbox Code Playgroud)

记得在月之后写-1(例如,对于6月是 - > 6 -1)


小智 23

将minDate用作字符串:

$('#datePickerId').datepicker({minDate: '0'});
Run Code Online (Sandbox Code Playgroud)

这将在今天设定为最小可选日期.


Nav*_*kar 5

动态更改 minDate

.datepicker("destroy")
Run Code Online (Sandbox Code Playgroud)

例如

<script>
    $(function() {
      $( "#datepicker" ).datepicker("destroy");
      $( "#datepicker" ).datepicker();
    });
</script>
 
<p>Date: <input type="text" id="datepicker" /></p>
Run Code Online (Sandbox Code Playgroud)