我正在使用date.js,我想在设定日期添加一定数月的数月
此代码在这里工作正常,到今天增加1个月
var start_date = $("#start_date").val();
expiry_date = Date.now().addMonths(1);
$("#expiry_date").val(expiry_date.toString("dd-MM-yyyy"));
但我想在我的start_date
变量中添加1个月,但是当我使用
expiry_date = start_date.addMonths(1);
我收到错误,告诉我start_date
不是有效的功能
更新:
$("#start_date, #payment_period").on('change', function() {
var start_date = Date.parse($("#start_date").val());
var period = $("#payment_period").val();
expiry_date = start_date.addMonths(period);
$("#expiry_date").val(expiry_date.toString("dd-MM-yyyy"));
});
这是我正在使用的代码,它工作正常,但如果页面加载时#start_date
输入中已有值,并且其中一个输入有更改,则表示没有显示正确的日期。
例如,如果页面在12-12-2016
输入中加载#start_date
,我将其更改为13-12-2016
,period
为24
{ {1}}输入#expiry_date
的更改,应该是13-09-2109
如果我清除13-09-2019
输入并输入新值但其不适用于现有值
答案 0 :(得分:1)
var start_date = Date.parse($("#start_date").val());
var period = parseInt($("#payment_period").val());
<强>更新强>
您可以通过change
触发.trigger('change')
事件,也可以在文档准备好后直接调用方法.change()
。
例如:
$("#start_date, #payment_period").change()
由于date.js
方法addMonths()
需要Number
参数,您应首先将您的句点强制为一个数字(通过parseInt()
)并检查它是否不是{{1} }}