JQuery datePicker:开始/结束日期应该在一年之内

时间:2010-04-23 02:08:05

标签: jquery jquery-ui datepicker

因此,如果我的开始日期是:04/22/2010,那么我的结束日期选择最多可以04/22/2011,而04/22/2011之后的日期都会被禁用。

以下是我选择开始和结束日期的内容:

$(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(); } 
    }); 
}); 

1 个答案:

答案 0 :(得分:1)

您可以同时设置maxDate选项,如下所示:

$(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) { 
          var nyd = new Date(dateText);
          nyd.setFullYear(nyd.getFullYear()+1);
          $('#endDate').datepicker("option", { minDate: new Date(dateText), 
                                               maxDate: nyd });
      }, 
      onClose: function () { $(this).focus(); } 
  }); 
}); ​

You can play with a working demo here

这只是获取日期,添加一年(不要使用.getYear / .setYear,它们已被弃用)并使用该日期在另一个上设置maxDate属性日期选择器。如果你很好奇,there's a helpful maintained list of javascript Date methods here