Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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
Javascript 如何设置从一个日期输入到另一个日期输入的日期?_Javascript_Jquery_Date_Input - Fatal编程技术网

Javascript 如何设置从一个日期输入到另一个日期输入的日期?

Javascript 如何设置从一个日期输入到另一个日期输入的日期?,javascript,jquery,date,input,Javascript,Jquery,Date,Input,我有两个日期输入。当我选择开始日期时,我希望jquery自动生成一个3个月后的结束日期 开始日期 结束日期 您应该收听第一次输入的更改事件,并使用其值创建一个新日期。之后,您可以使用新日期(Date.setMonth(Date.getMonth()+3))向该对象添加3个月。额外3个月的新日期应格式化为yyyy-mm-dd,并设置为第二个输入的值。完整的程序是: $(文档).ready(函数(){ $('darbo_pradzia')。更改(函数(){ let date=新日期($(thi

我有两个日期输入。当我选择开始日期时,我希望jquery自动生成一个3个月后的结束日期


开始日期
结束日期

您应该收听第一次输入的
更改
事件,并使用其值创建一个
新日期
。之后,您可以使用
新日期(Date.setMonth(Date.getMonth()+3))
向该对象添加3个月。额外3个月的新日期应格式化为
yyyy-mm-dd
,并设置为第二个输入的值。完整的程序是:

$(文档).ready(函数(){
$('darbo_pradzia')。更改(函数(){
let date=新日期($(this.val());
设newDate=addMonths(日期,3);
var formatted=newDate.toISOString().split('T')[0];//yyyy-mm-dd
console.log(格式化);
$('bandomasis_laikotarpis').val(格式化);
});
//添加月份到日期功能
功能添加月份(日期,月份){
var d=date.getDate();
date.setMonth(date.getMonth()++月);
if(date.getDate()!=d){
日期。设置日期(0);
}
返回日期;
}
});

开始日期
结束日期

$('darbo_pradzia')。on('focusout',function(){
让startDate=新日期($('darbo_pradzia').val());
设endDate=新日期(startDate);
endDate.setMonth(endDate.getMonth()+3);
let day=(“0”+endDate.getDate()).slice(-2);
让month=(“0”+(endDate.getMonth()+1)).slice(-2);
让date=endDate.getFullYear()+“-”+(月)+“-”+(日);
$('bandomasis_laikotarpis').val(日期);
})
您可以读取
onchange
事件或
focusout
事件上的值。读取日期,您可以从
date
构造函数复制插入的日期。增加月份,如果12个月溢出,则没有问题,因为年份会自动增加,月份值在[0-11]之间缩放。现在要在输入日期字段中写入日期,有两个问题:

HTML5中的日期控件接受年-月-日格式

如果月份为5,则需要将其设置为05,而不是简单地设置为5。同样的事情也适用于day field


在页面中向下添加脚本,或添加就绪/加载事件

添加月份并不是那么简单,请参阅。例如,尝试在11月30日或3月31日之前增加3个月。
<script>
   $('#darbo_pradzia').on('focusout', function(){
    let startDate = new Date($('#darbo_pradzia').val());
    let endDate = new Date(startDate);
    endDate.setMonth(endDate.getMonth()+3);

   let day = ("0" + endDate.getDate()).slice(-2);
   let month = ("0" + (endDate.getMonth() + 1)).slice(-2);
   let date = endDate.getFullYear()+"-"+(month)+"-"+(day) ;

$('#bandomasis_laikotarpis').val(date);
   })
</script>