2013-05-03 65 views
7

我有两个jQuery日期选择器从和日期选择。我有下面的代码,如果你选择6月15日在第一个然后在第二个你现在只能从15日起选择。jquery datepicker set mindate

我的问题是我真的需要设置 datepicker +1天。所以用户只能选择第16个起。

我的技能是不够先进的日期添加到parseDate

$(function() { 
     var dates = $("#from_date, #to_date").datepicker({ 
     dateFormat: 'dd-mm-yy', 
     minDate: 0, 
     onSelect: function(selectedDate) { 
      var option = this.id == "from" ? "minDate" : "maxDate", 
      instance = $(this).data("datepicker"), 
      date = $.datepicker.parseDate(
      instance.settings.dateFormat || 
      $.datepicker._defaults.dateFormat, 
      selectedDate, instance.settings); 
      dates.not(this).datepicker("option", option, date); 
      } 
    }); 
    }); 
+0

我看'的minDate:0,'可以将其改为以满足您的目的是什么? – 2013-05-03 22:39:12

+0

是的我已经有了它设置最短日期,我只需要添加能够添加一天到上述日期代码 – 2013-05-03 22:44:32

回答

17

要根据其他限制一个日期选择器,可以设置minDatemaxDate设置在其他日期选择器等选择的日期。

像这样的事情

$(function() { 

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

    $("#from_date").datepicker($.extend({ 
     onSelect: function() { 
      var minDate = $(this).datepicker('getDate'); 
      minDate.setDate(minDate.getDate()+2); //add two days 
      $("#to_date").datepicker("option", "minDate", minDate); 
     } 
    },datepickersOpt)); 

    $("#to_date").datepicker($.extend({ 
     onSelect: function() { 
      var maxDate = $(this).datepicker('getDate'); 
      maxDate.setDate(maxDate.getDate()-2); 
      $("#from_date").datepicker("option", "maxDate", maxDate); 
     } 
    },datepickersOpt)); 
});