jquery datepicker:选择日期为6个月

时间:2010-04-23 19:33:07

标签: jquery datepicker

开始日期:用户可以选择开始日期为6个月。例如:如果今天是04/23/2010,那么我可以回到2009年11月23日,但不会超过6个月。

<script type="text/javascript"> 
$(document).ready(function () { 

  $('#endDate').datepicker({ showOn: 'button', 
      buttonImage: '../images/Calendar.png', 
      buttonImageOnly: true, onSelect: function () { }, 
      onClose: function () { $(this).focus(); } 
    }); 


  $('#startDate').datepicker({ showOn: 'button', 
      buttonImage: '../images/Calendar.png', 
      buttonImageOnly: true, onSelect: 
        function (dateText, inst) { 
          $('#endDate').datepicker("option", 'minDate', new Date(dateText)); 
        } 
      , 
      onClose: function () { $(this).focus(); } 
    }); 


}); 

更新代码:

   var currentDate = new Date();
    var currentMonth = currentDate.getMonth() + 1;
    var sixMonths = currentMonth + 6 
    currentDate.setMonth(currentDate.currentMonth, sixMonths);
    var myNewCurrentDate = new Date(currentDate)
    $('#startDate').datepicker('option', { minDate: myNewCurrentDate });

我正在获得currentDate = NaN

2 个答案:

答案 0 :(得分:4)

您可以使用minDate option执行此操作,如下所示:

minDate:'-6m'

Here's an updated sample from a previous question of yours with this in effect

您的整体代码如下所示:

$(document).ready(function () { 
  $('#endDate').datepicker({ showOn: 'button', 
      buttonImage: '../images/Calendar.png', 
      buttonImageOnly: true, onSelect: function () { }, 
      onClose: function () { $(this).focus(); } 
  }); 

  $('#startDate').datepicker({ showOn: 'button', 
      buttonImage: '../images/Calendar.png', 
      buttonImageOnly: true, 
      minDate: '-6m',
      onSelect: function (dateText, inst) { 
          $('#endDate').datepicker("option", 'minDate', new Date(dateText)); 
        } 
      , 
      onClose: function () { $(this).focus(); } 
  });
}); 

答案 1 :(得分:0)

查看min / maxdate:

$('#startDate').datepicker('option', 'minDate', new Date(2009, 10, 23));

请注意,月份参数是m-1(4月= 3),原因我不太了解。

我这样做的方式(阅读起来比较简单;可能意味着和你的一样):

var currentDate = new Date();
var currentMonth = currentDate.getMonth() + 6 - 1;
var currentYear = currentDate.getYear();
var currentDay = currentDate.getDay();
$('#startDate').datepicker('option', 'minDate', new Date(currentYear, currentMonth, currentDay));