我正在开发一个asp.net mvc-4 Web应用程序。我的观点中有三个字段: -
-Live Date(填充jQuery DatePicker) -结束日期 -Length In Months
bundle install
现在我想使用jQuery执行以下操作: -
结束日期等于实际日期+长度数月。
因此,如果用户选择日期为1/1/2000,月长为3。然后结束日期应该等于1/4/2000 ..所以换句话说,如果用户按月份的实际日期和/或长度,我希望更改结束日期......那么任何人都可以这样做吗?
修改: -
目前我的直播日期格式为<input Value="31/05/2016" class="datepicker" data-val="true" data-val-date="The field Live Date must be a date." id="LiveDate" name="LiveDate" type="text" value="31/05/2016 00:00:00" />
<input Value="31/10/2016" class="datepicker" data-val="true" data-val-date="The field End Date must be a date." disabled="disabled" id="EndDate" name="EndDate" type="text" value="31/10/2016 00:00:00" />
<input class="text-box single-line" data-val="true" data-val-number="The field Contract Length (In Months) must be a number." data-val-required="The Contract Length (In Months) field is required." id="ContractLength" name="ContractLength" type="number" value="5" />
现在我尝试了以下jquery: -
dateFormat: "dd/mm/yy"
但目前如果我的liveate = $("#LiveDate, #ContractLength").change(function () {
var st = new Date($("#LiveDate").val());
var month = $("#ContractLength").val();
$("#EndDate").val(st.getDate() + '/'+(new Date(st.setMonth(st.getMonth() + month)).getMonth() + 1) + '/' + st.getFullYear());
});
且合同期限= 31/05/2016
,则结束日期为4
!不确定为什么?
答案 0 :(得分:2)
你可以试试这个:
$("#start, #month").change(function()
{
var st = new Date($("#start").val());
var month = $("#month").val();
$("#end").val((new Date(st.setMonth(st.getMonth() + month)).getMonth() + 1) + '/' + st.getDate() + '/' + st.getFullYear());
}).change(); // optional
示例:https://jsfiddle.net/DinoMyte/ez8cgsx7/2/
或通过定义用户定义的jquery函数:
$.fn.addMonths = function()
{
var st = new Date($("#start").val());
var month = $("#month").val();
$("#end").val((new Date(st.setMonth(st.getMonth() + month)).getMonth() + 1) + '/' + st.getDate() + '/' + st.getFullYear());
};
$("#start,#month").change(function()
{
$("#end").addMonths(month);
}).change();
答案 1 :(得分:1)
您可以使用以下内容:
Date.prototype.addMonths = function(months) {
var dat = new Date(this.valueOf());
dat.setMonth(dat.getMonth() + months);
return dat;
}
然后这样称呼它:
myDate = myDate.addMonths(lengthInMonths);
这是一个实现了函数的JSBin:
答案 2 :(得分:-1)
void printarr(int *ptr, int l)
OR
int *