頁面包含「存入日期」(默認今天)和「存期」下拉框(如「三個月」「90天」),需自動計算並填充「提取日期」。
// 獲取存入日期字符串 "2016-01-13"
var dateStr = $('#EntTime32').val();
// 解析為 Date 對象
var date = new Date(dateStr.replace(/-/g, '/')); // 兼容 Safari
// 獲取存期(假設下拉框 value 為月數)
var months = parseInt($('#sel2').val());
// 日期加月
date.setMonth(date.getMonth() + months);
// 格式化回填
var result = date.getFullYear() + '-' +
('0' + (date.getMonth() + 1)).slice(-2) + '-' +
('0' + date.getDate()).slice(-2);
$('#EntTime31').val(result);
$('#sel2').on('change', function() {
var baseDateStr = $('#EntTime32').val();
if (!baseDateStr) return;
var baseDate = new Date(baseDateStr.replace(/-/g, '/'));
var addMonths = parseInt($(this).val()) || 0;
baseDate.setMonth(baseDate.getMonth() + addMonths);
var out = baseDate.getFullYear() + '-' +
String(baseDate.getMonth() + 1).padStart(2, '0') + '-' +
String(baseDate.getDate()).padStart(2, '0');
$('#EntTime31').val(out);
});
// 頁面加載初始化存入日期為今天
$(function() {
var today = new Date();
var todayStr = today.getFullYear() + '-' +
String(today.getMonth() + 1).padStart(2, '0') + '-' +
String(today.getDate()).padStart(2, '0');
$('#EntTime32').val(todayStr);
$('#sel2').trigger('change'); // 觸發計算
});
new Date('2016-01-13') 在 Safari/舊瀏覽器可能解析為 UTC,推薦 replace(/-/g, '/') 或使用 moment.js/dayjs。value 建議直接存數字(月數),避免解析中文「三個月」。