jquery当日期更改,更改另一个日期

问题描述:

我使用Jquery日期选择器作为开始日期和结束日期,我想要做的是当用户更改'开始'日期,'结束'日期自动更改为开始日期+ X天?jquery当日期更改,更改另一个日期

其他人会怎么建议这样做的最佳方式?我使用的是GB日期,因此它的dd/mm/yyyy因此不能与JavaScript日期对象一起使用?我相信这对于一个更有经验的jQuery人来说是微不足道的!

+0

您可以加入一点你的HTML代码....肯定是比从头开始 – 2011-03-14 08:00:35

在jquery UI日期选择器中有一个事件。

请看看到:http://jqueryui.com/demos/datepicker/#event-onSelect

你要绑定到onSelect事件。查看jQuery文档here

这可能是关于你在找什么。

var DAYS = 6; // <-- Or whatever 

$('#start_date').datepicker({ 
    onSelect: function(dateText, inst) { 
     $('#end_date').setDate(
      (Number(dateText.substr(0,2))+DAYS) + dateText.substr(2) 
     ) 
    }, 
    dateFormat: 'dd/mm/yy', 
}); 

$('#end_date').datepicker({ 
    dateFormat: 'dd/mm/yy', 
}); 
+0

...你正在做的有趣的事情与分析 - 为什么不使用'$ .datepicker.parseDate(格式,值,设置)'(http://docs.jquery.com/UI/Datepicker/parseDate),然后使用适当的'.setXX()' - 方法来代替?这将避免任何关键的适应,如果'dateFormat'改变...并且更多,那么,“正确”的方式:) – 2011-03-14 08:21:59

+0

@Andreas你完全正确的'parseDate()'事情,但我认为我是使用正确的'.sexXX()'方法 - '.setDate()'。 – 2011-03-14 17:03:21

+0

我没有谈论'$ .datepicker.setDate()' - 我谈到了'Date.setXXX()'(对不起) – 2011-03-15 08:28:44