2016-01-27 97 views
0
设定最低和最高jQuery的日期选择日期

的的jsfiddle可以在这里找到:http://jsfiddle.net/PQfDc/682/如何根据当前日期

我需要它:
基于用户选择输入选择在365天的时间日期。例如,用户输入01/01/2016,他们只能选择2016年1月1日至2017年1月1日之间的一个日期,之后没有任何日期。

我还设置了一种方法,如果日期在1月31日之前,开始和结束日期的最小值可以变化。例如,仅日期的用户可以选择从是31/01/2015 - 31/12/2016

var d = new Date(); var Month = d.getMonth();var Month = Month + 1; 
var Year = d.getFullYear(); var Day = d.getDate(); 

if(Day <= 9){ var Day = "0".concat(Day);} 

if(Month <= 9){ var Month = "0".concat(Month);} 

if(Month == 01 && Day <= 31){ 
var Year = Year - 1; 
var MinYear = "31-01-"+Year; 
var Year = Year + 1; 
var MaxYear = "31-12-"+Year; 
} else { 
var MinYear = "31-01-"+Year; 
var Year = Year + 1; 
var MaxYear = "31-12-"+Year; 
} 

$(function() { 

    /* global setting */ 
    var datepickersOpt = { 
     dateFormat: 'dd-mm-yy', 
     minDate : 0 
    } 

    $("#TxtStrtDate").datepicker($.extend({ 
     onSelect: function() { 
      var minDate = $(this).datepicker('getDate'); 
      minDate.setDate(minDate.getDate()-365); //add two days 
      $("#TxtExpDte").datepicker("option", "minDate", minDate); 
     } 
    },datepickersOpt)); 

    $("#TxtExpDte").datepicker($.extend({ 
     onSelect: function() { 
      var maxDate = $(this).datepicker('getDate'); 
      maxDate.setDate(maxDate.getDate()+365); 
      $("#TxtStrtDate").datepicker("option", "maxDate", maxDate); 
     } 
    },datepickersOpt)); 
}); 
+0

'minDate'和'maxDate'都接受相对值... http://api.jqueryui.com/datepicker/#option-maxDate – CBroe

回答

2

根据您的jsfiddle例如:

var datepickersOpt = { 
    dateFormat: 'dd-mm-yy', 
    minDate : 0 
} 

$("#TxtStrtDate").datepicker($.extend({ 
    onSelect: function() { 
     var minDate = $(this).datepicker('getDate'); 
     var maxDate = new Date(); 

     $('#TxtExpDte').datepicker('option', 'minDate', minDate); 

     // add 365 days to the selected date 
     maxDate.setDate(minDate.getDate() + 365); 
     $("#TxtExpDte").datepicker("option", "maxDate", maxDate); 
    } 
},datepickersOpt)); 

$("#TxtExpDte").datepicker($.extend({},datepickersOpt)); 

链接的jsfiddle:http://jsfiddle.net/2op64ytL/1/

结果:

enter image description here