如何在输入类型日期字段中自动选择日期

时间:2018-06-08 06:02:46

标签: javascript jquery date

我有两个input type="date"字段,我想根据第一个日期自动选择第二个日期。



<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="date" id="first">
<input type="date" id="second">
&#13;
&#13;
&#13;

如何在第二个输入类型上自动选择7天以后的日期,并希望在第二个输入类型日期之前禁用日期。

3 个答案:

答案 0 :(得分:2)

这将帮助您解决问题,深入了解一下:D

&#13;
&#13;
jQuery(document).ready(()=>{
  jQuery('#first').change(()=>{
    
    var _date = jQuery('#first').val();
   
    var res = new Date(_date).setTime(new Date(_date).getTime() + (7 * 24 * 60 * 60 * 1000));
    var month = new Date(res).getMonth()+1;
    var day = new Date(res).getDate();
    var output = new Date(res).getFullYear() + '-' +
   (month < 10 ? '0' : '') + month + '-' +
    (day < 10 ? '0' : '') + day;
    
    jQuery('#second').val(output);

})
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="date" id="first">
<input type="date" id="second">
&#13;
&#13;
&#13;

答案 1 :(得分:0)

这是一个简单的jquery,使用stepUp方法添加天数

&#13;
&#13;
today = new Date();
day = today.getDate()
month = today.getMonth() + 1
year = today.getFullYear();

day = day < 10 ? '0' + day : day;
month =  month < 10 ? '0' + month : month;
today = new String(year + '-' + month + '-' + day)
$("#second")[0].min = today;

$('#first').on('change', function(e){
  date = new Date($('#first').val());
  $('#second')[0].valueAsNumber = date.setDate(date.getDate())
  $("#second")[0].stepUp(7);
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="date" id="first">
<input type="date" id="second">
&#13;
&#13;
&#13;

答案 2 :(得分:0)

检查以下代码:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="date" id="first" onchange="setdate()">
<input type="date" id="second">

<script>
	function setdate(){
		var tt =$('#first').val();

	    var newdate = new Date(tt);
	    var add_value = 7;

	    newdate.setDate(newdate.getDate() + add_value);	  
	
	    var dd = newdate.getDate();
	    var mm = newdate.getMonth() + 1;
	    var y = newdate.getFullYear();

	    if((mm.toString().length)==1){
	    	var mm = '0'+mm;
	    }
	    if((dd.toString().length)==1){
	    	var dd = '0'+dd;
	    }
	    
	    var someFormattedDate = y + '-' + mm + '-' + dd;

	    $('#second').val(someFormattedDate);
	
	}
</script>