gpt4 book ai didi

javascript - 使用日期选择器将日期值分配给输入字段

转载 作者:行者123 更新时间:2023-12-03 11:38:55 25 4
gpt4 key购买 nike

我有一个名为开始日期的 url 参数,格式为 dd-mm-yyyy。我的 html 字段中有输入字段,我需要为这些输入字段设置日期。我需要像这样设置日期。如果开始日期(url 参数字符串)为 01-01-2014 ,则第一个输入字段的日期应为 15-02-2015 。这意味着1个月零2周后。然后下一个输入字段的日期应为 2014 年 2 月 15 日之后 1 个月零 2 周。这种情况应该发生 10 次。我正在使用 for 循环执行此操作。我已为我的输入字段分配了 jquery datepicker

var initialDate = "01-01-2014";
var x;
for(x=1; x<= 10;x++){


var dateArray = initialDate.split("-");
var dateObj = new Date(dateArray[2],dateArray[1],dateArray[0]);
dateObj.setMonth(dateObj.getMonth()+1);
dateObj.setDate(dateObj.getDate()+14);

// Assign the new date value to input field.
$("#dateOf_installment_"+x).val(dateObj.getDate()+"-"+dateObj.getMonth()+"-"+dateObj.getFullYear());

}

但这并没有给我所需的值。怎么解决这个问题,谢谢大家!

最佳答案

您的代码有 2 个问题 -

对于 1 月到 12 月,Date 对象使用 0-11 而不是 1-12。所以当你设置日期对象的月份时,需要减1才能设置正确的月份。当您将月份转换回 Jan-Dec 1-12 时,您需要重新添加 1。

此外,我稍微更新了您的代码,以便循环能够继续正常工作。此循环进行 3 次迭代,但应该可以扩展到 10 次。

最后,如果您的答案与预期不同,则该线程可能是问题的原因。 How to add number of days to today's date?

JS fiddle :http://jsfiddle.net/biz79/bteL6138/

var initialDate = "01-01-2014";
var lastDate = initialDate;
var x;

for (x = 1; x <= 3; x++) {
var dateArray = lastDate.split("-");

// sub 1 from month
var dateObj = new Date(dateArray[2], dateArray[1] - 1, dateArray[0]);

dateObj.setMonth(dateObj.getMonth() + 1);
dateObj.setDate(dateObj.getDate() + 14);

// add 1 for month
lastDate = dateObj.getDate() + "-" + (dateObj.getMonth() + 1) + "-" + dateObj.getFullYear();

$("#dateOf_installment_" + x).val(lastDate);
}

关于javascript - 使用日期选择器将日期值分配给输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26351475/

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