2011-04-18 101 views
1

我使用了2个jquery日期选择器,一个用于出发,一个用于返回。具有自动对焦和最短日期的双日期日历日历

我希望第二个自动打开并将最短日期设置为第一个日历+ 1天中选定的值(即第一个日历日期是5月21日,第二个日历应该将最短日期设置为5月22日) 。

截至目前,我可以自动填充第二个日历的默认日期到第一个日期中选择的日期。

$("#dep_date").datepicker({dateFormat: 'dd/mm/yy', numberOfMonths: 3, minDate: +2, onSelect: function(dateText, inst){$("#ret_date").val(dateText);}}); 
$("#ret_date").datepicker({dateFormat: 'dd/mm/yy', numberOfMonths: 3}); 

回答

2

怎么是这样的:

$("#dep_date").datepicker({ 
    dateFormat: 'dd/mm/yy', 
    numberOfMonths: 3, 
    minDate: +2, 
    onSelect: function(dateText, inst) { 
     var date = $.datepicker.parseDate('dd/mm/yy', dateText); 
     date.setDate(date.getDate() + 1); 

     var $ret_date = $("#ret_date"); 

     $ret_date.datepicker("option", "minDate", date);    
     $ret_date.datepicker("setDate", date); 

     $(this).datepicker("hide"); 

     $ret_date.datepicker("show"); 
    } 
}); 

$("#ret_date").datepicker({ 
    dateFormat: 'dd/mm/yy', 
    numberOfMonths: 3 
}); 

详情:

  • 用途上datepicker
  • setDate方法设置上datepicker
  • minDate选项调用show方法Ø n中的下一个datepicker

这里有一个工作示例:http://jsfiddle.net/4tay7/

+0

是啊,这工作完美。我正在尝试$ ret_date.datepicker(“minDate”,日期)并没有采取,所以我想我需要选项。另外我试图使用焦点焦点事件。 – dawgbone 2011-04-19 13:46:16

+0

@dawgbone:很高兴帮助!如果它适合你,请接受答案。 – 2011-04-19 14:36:04

+1

完成!我注意到的一件事是,如果在$ ret_date.datepicker(“option”,“minDate”,date)之前有'$ ret_date.datepicker(“setDate”,date);'并且选择未来日期一个月后),然后将其更改为比第一次选择更早的日期(比如说下周),第二次日历不会默认为新日期,因为它使用的是第一次选择的minDate。因此,只需将订单更改为'$ ret_date.datepicker(“option”,“minDate”,date); $ ret_date.datepicker(“setDate”,日期);'它工作正常。 – dawgbone 2011-04-19 18:05:22