在jquery-ui datepicker中将maxDate设置为currentDate

时间:2016-02-08 13:58:28

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

我试图将maxDate设置为currentDate,但不幸的是,下拉列表没有更新。以下是我的观点。



var currentDate=new Date();
var minyear=currentDate.getFullYear() - 80;
var maxyear=currentDate.getFullYear() - 1;
$('.datepicker').datepicker({
  changeMonth: true,
  changeYear: true,
  yearRange:minyear +':'+maxyear,
  showAnim:'clip'
});

<link href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>

<input type="text" class="datepicker"/>
&#13;
&#13;
&#13;

我的尝试包括添加setDate选项,其日期少于一年,但仍然下拉值仍为minDate年。以下是我的尝试:

&#13;
&#13;
var currentDate=new Date();
var minyear=currentDate.getFullYear() - 80;
var maxyear=currentDate.getFullYear() - 1;
var setDates=new Date(currentDate.getMonth()+"/"+currentDate.getDate()+"/"+(currentDate.getFullYear()-1));
$(".datepicker").datepicker({
      changeMonth: true,
      changeYear: true,
      yearRange:minyear +':'+maxyear,
      showAnim:'clip',
      setDate:setDates
});
&#13;
<link href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>

<input type="text" class="datepicker"/>
&#13;
&#13;
&#13;

知道如何完成这项工作吗?

1 个答案:

答案 0 :(得分:1)

我们使用minDatemaxDate选项限制可选日期的范围。 将开始日期和结束日期设置为实际日期(new Date(2009, 1 - 1, 26)),,作为今天(-20)的数字偏移量,或者作为一系列句点和单位('+1M +10D')。

$('.datepicker').datepicker({
      changeMonth: true,
      changeYear: true,
      minDate:'-80Y',
      maxDate:'-1Y',
      showAnim:'clip'
    });

这样做。