【发布时间】:2014-07-14 06:49:53
【问题描述】:
我有一个包含三个字段的表单,“start_date”、“days”、“end_date”。我想通过在开始日期上添加天数来获得结束日期。
我的 jQuery 代码是:
$("#days").change(function(){
var start_date = new Date($("#start_date").attr('value'));
var days = parseInt($("#days").attr('value'))-1;
var end_date = new Date(start_date);
end_date.setDate(start_date.getDate() + days);
$("#end_date").val(end_date.getFullYear() + '-' + ("0" + (end_date.getMonth() + 1)).slice(-2) + '-' + ("0" + end_date.getDate()).slice(-2));
});
在“end_date”字段中,我得到“NaN-aN-aN”。
我做错了什么?
【问题讨论】:
-
你在
start_date字段中得到了什么? -
正如我在问题中所说,我得到 NaN-aN-aN
-
你的问题说你在
end_date中得到了 NAN,我在问你在start_date中得到了什么(如果它也是 NAN,那是因为#start_date的值不代表有效日期格式) -
start_date 由用户完成。其格式为 YYYY-MM-DD。
-
start_date不是由用户完成的,它是一个基于用户数据初始化的 javascript Date() 对象。请添加console.log(start_date);,看看它的值是多少。