Я работаю над веб-сайтом бронирования с использованием начальной загрузки datepicker, чего я хочу добиться, так это когда пользователь выбирает конкретную дату заезда и количество ночей, он устанавливает значение автоматической даты для даты выезда.
$.fn.datepicker.defaults.format = "mm/dd/yyyy";
$(".check-in").datepicker("setDate", new Date());<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.8.0/js/bootstrap-datepicker.min.js"></script>
<link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.8.0/css/bootstrap-datepicker.css" />
<div class = "booking">
<input class = "check-in" data-provide = "datepicker">
<input class = "nights" type = "number">
<input class = "check-out" data-provide = "datepicker">
</div>


![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Получите дату из поля регистрации. Затем добавьте это к числу при изменении ввода (числового поля) на setDate(). Наконец, установите эту новую дату в поле выезда. Попробуйте следующее:
$.fn.datepicker.defaults.format = "mm/dd/yyyy";
$(".check-in").datepicker("setDate", new Date());
$('.nights').on('input', function(){
var date2 = $('.check-in').datepicker('getDate');
date2.setDate(date2.getDate() + Number(this.value));
$(".check-out").datepicker("setDate", date2);
});<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.8.0/js/bootstrap-datepicker.min.js"></script>
<link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.8.0/css/bootstrap-datepicker.css" />
<div class = "booking">
<input class = "check-in" data-provide = "datepicker">
<input class = "nights" type = "number">
<input class = "check-out" data-provide = "datepicker">
</div>Попробуйте это с onchange!
$.fn.datepicker.defaults.format = "mm/dd/yyyy";
$(".check-in").datepicker("setDate", new Date());
function checkoutDate(){
var date1 = $('.check-in').datepicker('getDate');
var date = new Date( Date.parse( date1 ) );
var nights = $('.nights').val();
var count = parseInt(nights);
date.setDate( date.getDate() + count);
var newDate = date.toDateString();
newDate = new Date( Date.parse( newDate ) );
$('.check-out').datepicker('setDate', newDate );
}<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.8.0/js/bootstrap-datepicker.min.js"></script>
<link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.8.0/css/bootstrap-datepicker.css" />
<div class = "booking">
<input class = "check-in" data-provide = "datepicker" onchange = "checkoutDate();">
<input class = "nights" type = "number" onchange = "checkoutDate();">
<input class = "check-out" data-provide = "datepicker">
</div>Вы можете использовать событие onchange. Как только значение поля даты и числа регистрации изменится, вы либо вводите, либо фокусируетесь, либо щелкаете по дате. Поле выезда будет обновлено.
$.fn.datepicker.defaults.format = "mm/dd/yyyy";
$(".check-in").datepicker("setDate", new Date());
$('.nights, .check-in').on('change', function(){
var date2 = $('.check-in').datepicker('getDate');
var no_days= $('.nights').val();
date2.setDate(date2.getDate() + Number(no_days));
$(".check-out").datepicker("setDate", date2);
});<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.8.0/js/bootstrap-datepicker.min.js"></script>
<link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.8.0/css/bootstrap-datepicker.css" />
<div class = "booking">
<input class = "check-in" data-provide = "datepicker">
<input class = "nights" type = "number" min = "0">
<input class = "check-out" data-provide = "datepicker">
</div>