jQuery UI 日期选择器:向另一个日期选择器添加 6 个月

新手上路,请多包涵

我有两个日期选择器日历,一个用于开始日期,另一个用于结束日期。

我想要的是在选择第一个日期时动态地将第二个日期选择器的 defaultDate 设置为比第一个日期选择器晚六个月。

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

这是我的代码:

 $(".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"
});

非常感谢你的帮助

编辑:

在 datePicker 中,存在向日期添加六个月的函数:它被标记为“+6M”。我只想将“+6M”添加到第一个日期并将其作为默认日期发送到第二个日期。

原文由 Ben Totoro 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

演示在这里

原文由 Salman A 发布,翻译遵循 CC BY-SA 3.0 许可协议

将日期增加 6 个月

 var second_date = new Date(date);
 second_date.setMonth(second_date.getMonth()+6); //+6 is however many months

然后更新值

$("#secondcal").val(second_date);  //It is probably better to work with ID

原文由 Tank 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题