gpt4 book ai didi

javascript - 我如何将日期字段设置为等于另一个代表月份值的日期+整数值

转载 作者:行者123 更新时间:2023-12-02 14:38:03 24 4
gpt4 key购买 nike

我正在开发一个 asp.net mvc-4 Web 应用程序。我的 View 中有三个字段:-

-实时日期(使用 jQuery DatePicker 填充)-结束日期-长度以月为单位

<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 执行以下操作:-

结束日期等于事件日期 + 长度(以月为单位)。

因此,如果用户选择日期为 1/1/2000,月份长度为 3 。那么结束日期应该等于 1/4/2000.. 所以换句话说,如果用户更改实时日期和/或月份长度,我希望结束日期发生变化...所以有人可以建议吗?

编辑:-

目前我的实时日期格式是 dateFormat: "dd/mm/yy"

现在我尝试了以下 jquery :-

 $("#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());
});

但目前如果我有我的livedate= 31/05/2016我的契约(Contract)长度 = 4 ,那么结束日期将为 5/5/2023 !!!不知道为什么?

最佳答案

你可以试试这个:

$("#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();

示例:https://jsfiddle.net/DinoMyte/ez8cgsx7/3/

关于javascript - 我如何将日期字段设置为等于另一个代表月份值的日期+整数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37264807/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com