2014-12-02 80 views
0

我已经尝试了很多我在本网站上看到的例子,但似乎无法获得此代码的工作。基于第一个输入日期选择器的MinDate

我正在寻找停止用户选择一个日期小于第一个文本框datepicker输入的日期。但是我所尝试的一切似乎都不起作用。

因此,DepartDate必须是#ArrivalDate + 1天的最小值,我可以将天数限制为30天,但是minDate让我获胜。

任何人都可以看到我要出错的地方。

$(document).ready(function() { 
    $("#ArrivalDate").datepicker({ 
     dateFormat: "dd/mm/yy", 
     minDate: 0, 
     onSelect: function() { 
      var date2 = $('#ArrivalDate').datepicker('getDate'); 
      date2.setDate(date2.getDate() + 30); 
      $('#DepartDate').datepicker('setDate', date2); 
      $('#DepartDate').datepicker('option', 'maxDate', date2); 
     } 
    }); 
    $('#DepartDate').datepicker({ 
     dateFormat: "dd/mm/yy", 
     onClose: function() { 
      //var date = $(this).datepicker('getDate'); 
      //date.setDate(date.getDate() + 1); 
      calculate(); 
      //minDate: $('#ArrivalDate').datepicker('getDate', '+1d'); 
      var dteArrivalDate = $('#ArrivalDate').datepicker('getDate'); 
      var dteDepartDate = $('#DepartDate').datepicker('getDate'); 
      if (dteDepartDate <= dteArrivalDate) { 
       var maxDate = $('#DepartDate').datepicker('option', 'maxDate'); 
       //var minDate = $('#ArrivalDate').datepicker('getDate', '+1d'); 
       $('#DepartDate').datepicker('setDate', maxDate); 
       //$('#DepartDate').datepicker('setDate', maxDate,'minDate',date); 
       //$('#DepartDate').datepicker({ setDate: maxDate, minDate: minDate }); 
      } 
     } 
    }); 
}); 

回答

1

为您设置的maxDate,设置的minDate

var date1 = $('#ArrivalDate').datepicker('getDate'); 
date1.setDate(date2.getDate() + 1); 
$('#DepartDate').datepicker('option', 'minDate', date1); 
+0

dm4Web您好,我试过,之前并没有工作 – 2014-12-03 00:33:09

+0

检查演示:http://jsfiddle.net/x8ar0Lsq/ – dm4web 2014-12-03 00:39:19

+1

嗨dm4web,谢谢我把上面的代码放在错误的地方。想想我花了很长时间看电脑 – 2014-12-03 00:52:09

相关问题