Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery使用date.js将月份添加到日期_Jquery_Date - Fatal编程技术网

jquery使用date.js将月份添加到日期

jquery使用date.js将月份添加到日期,jquery,date,Jquery,Date,我使用的是date.js,我想在设定的日期上增加一定数量的月份 这里的代码可以正常工作,这给今天增加了1个月 var start_date = $("#start_date").val(); expiry_date = Date.now().addMonths(1); $("#expiry_date").val(expiry_date.toString("dd-MM-yyyy")); 但是,当我使用 expiry_date = start_date.addMonths(1); 我收到一个

我使用的是date.js,我想在设定的日期上增加一定数量的月份

这里的代码可以正常工作,这给今天增加了1个月

var start_date = $("#start_date").val();

expiry_date = Date.now().addMonths(1);

$("#expiry_date").val(expiry_date.toString("dd-MM-yyyy"));
但是,当我使用

expiry_date = start_date.addMonths(1);
我收到一个错误,告诉我
start\u 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
输入中已有值,并且其中一个输入有更改,则不会显示正确的日期

例如,如果页面在
#start_date
输入中加载
12-12-2016
,我将其更改为
13-12-2016
,并且
期间
24
#expiration_date
输入将更改为
13-09-2109
,其中应为
13-09-2019

如果我清除
#start_date
输入并输入一个新值,但它不适用于现有值,则其工作正常

var start_date = Date.parse($("#start_date").val());
var period = parseInt($("#payment_period").val());
更新:

您可以通过
.trigger('change')
或在文档准备就绪时直接调用方法
.change()
来触发
change
事件

例如

$(“#开始日期,#付款期”).change()


由于
date.js
方法
addMonths()
需要一个
Number
参数,您应该首先强制您的句号为一个数字(通过
parseInt()
),并检查它是否是一个
NaN

此方法有效-检查我的更新,我遇到了一个进一步的问题,代码中的答案对社区没有用处。请查看您的更新是否有助于解决我遇到的问题?@charlie是的,应该有帮助