jQuery UI datepicker:将6个月添加到另一个日期选择器

Ben*_*oro 6 javascript jquery jquery-ui date jquery-ui-datepicker

我有两个datepickers日历,一个用于开始日期,另一个用于结束日期.

我想要的是动态设置第二个日期选择器的defaultDate比第一个日期选择器的第一个日期晚六个月.

我知道如何向第二个datepicker报告fisrt日期,但我不知道如何将第六个月添加到第一个,然后将其添加为第二个datepicker的默认日期

这是我的代码:

$(".firstcal").datepicker({
    dateFormat: "dd/mm/yy",
    onSelect: function (dateText, inst) {
        var date = $.datepicker.parseDate('dd/mm/yy', dateText);
        var $sec_date = $(".secondcal");
        $sec_date.datepicker("option", "defaultDate", date);
    }
});
$(".secondcal").datepicker({
    dateFormat: "dd/mm/yy"
});
Run Code Online (Sandbox Code Playgroud)

非常感谢你的帮助

编辑:

在datePicker中,存在六个月添加到日期的功能:它标记为"+ 6M".我只想在第一个日期添加"+ 6M"并将其作为默认日期发送到第二个日期.

Sal*_*n A 11

  1. 将选定的日期字符串解析为JavaScript日期对象.
  2. 使用Date.getMonth()Date.setMonth()更改月份.如果需要,后一种功能会自动增加/减少年份.
  3. 使用jQuery datepicker的setDate方法来更改第二个日期选择器的日期(设置defaultDate不会给你想要的结果).
onSelect: function(dateText, instance) {
    date = $.datepicker.parseDate(instance.settings.dateFormat, dateText, instance.settings);
    date.setMonth(date.getMonth() + 6);
    $(".secondcal").datepicker("setDate", date);
}
Run Code Online (Sandbox Code Playgroud)

在这里演示


Tan*_*ank 5

将 6 个月添加到日期

 var second_date = new Date(date);
 second_date.setMonth(second_date.getMonth()+6); //+6 is however many months
Run Code Online (Sandbox Code Playgroud)

然后更新值

$("#secondcal").val(second_date);  //It is probably better to work with ID
Run Code Online (Sandbox Code Playgroud)