Как автоматически выбрать дату в поле ввода типа даты - PullRequest
0 голосов
/ 08 июня 2018

У меня есть два поля 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">

Как автоматически выбрать дату на 7 дней позже для второго типа ввода и отключить дату до сегодняшнего дня для даты второго типа ввода.

Ответы [ 3 ]

0 голосов
/ 08 июня 2018

Проверьте код ниже:

<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>
0 голосов
/ 08 июня 2018

Это поможет вам решить вашу проблему, проверьте более глубоко: D

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);

})
})
<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">
0 голосов
/ 08 июня 2018

это простой jquery, использующий метод stepUp для добавления дней

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);
})
<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">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...