修改:工作小提琴:http://jsfiddle.net/yao6dgex/
编辑2:我想我知道发生了什么,但没有理由,它会在实际的日子里添加日期,而不是在所选日期添加天数。
我发现this回答了我的问题,但它根本没有解决任何问题。
问题是,当我添加X天时,在同一个日历或另一个日历中,它将在X天的下个月。
我的代码如下:
$(document).ready(function() {
$("#cal3").datepicker({
showOtherMonths: true,
selectOtherMonths: true,
dateFormat: "dd/mm/y",
onSelect: function(selectedDate) {
$("#cal4").datepicker("setDate", selectedDate);
$("#cal4").datepicker("setDate", "+3d");
$("#cal4").datepicker( "option", "minDate", selectedDate );
}
});
$("#cal4").datepicker({
showOtherMonths: true,
selectOtherMonths: true,
dateFormat: "dd/mm/y",
onSelect: function(selectedDate) {
$("#cal3").datepicker( "option", "maxDate", selectedDate );
}
});
});
在此示例中,我将所选日期添加到cal4
,然后再添加3天。
Datepicker setDate
API说:
设置日期选择器的日期。新日期可以是Date对象或当前日期格式的字符串(例如,“01/26/2009”),从今天开始的天数(例如,+ 7)或一串值和句点(“y” “多年来,”m“持续数月,”w“持续数周,”d“持续数天,例如”+ 1m + 7d“),或空以清除所选日期。
我正在尝试使用"+Xd"
添加X天,那么,为什么它不起作用?
答案 0 :(得分:2)
我建议一个简单的解决方法。
我们可以使用datepicker
javascript对象来执行此操作,而不是让Date()
来管理添加天数操作。
这样的事情:
$(document).ready(function() {
$("#cal3").datepicker({
showOtherMonths: true,
selectOtherMonths: true,
dateFormat: "dd/mm/y",
onSelect: function(selectedDate) {
//$("#cal4").datepicker("setDate", selectedDate);
var date = $(this).datepicker("getDate"); //Get the Date object with actual date
date.setDate(date.getDate() + 3); //Set date object adding 3 days.
$("#cal4").datepicker("setDate", date); //Set the date of the datepicker with our date object
$("#cal4").datepicker( "option", "minDate", selectedDate );
}
});
$("#cal4").datepicker({
showOtherMonths: true,
selectOtherMonths: true,
dateFormat: "dd/mm/y",
onSelect: function(selectedDate) {
$("#cal3").datepicker( "option", "maxDate", selectedDate );
}
});
});
我将jsFiddle与答案代码分开。