В отрывке, которым вы поделились, есть много проблем, вы пытаетесь использовать ID в исходном элементе и клонировать его, это плохая идея для вашего варианта использования.Что вы можете сделать, это преобразовать его в класс и передать целевой элемент в cal ().сделав это, вы можете найти элемент.И ваш ярлык на ночь не закрывается должным образом
замените свой выходящий блок скриптов
<script type="text/javascript">
function GetDays(target){
var dropdt = new Date($(target).find(".drop_date").val());
var pickdt = new Date($(target).find(".pick_date").val());
return parseInt((dropdt - pickdt) / (24 * 3600 * 1000));
}
function cal(target){
console.log($(target).parent(), $(target).parent().find('numdays2'));
$(target).parent().find('.numdays2').val(GetDays($(target).parent()));
}
</script>
и замените ваш HTML-блок .personal-details на этот
<ul class="personal-details">
<label for="roomid">RoomID</label>
<input name="roomid[]" type="text" class="stretchnights" id="roomid" readonly="readonly" value="1">
<label for="chkin">Check IN</label>
<input size="15" width="15" id="pick_date" class="pick_date" type="date" name="chkin[]" onchange="cal(this)" required/>
<label for="chkout">Check Out</label>
<input id="drop_date" type="date" name="chkout[]" class="drop_date" onchange="cal(this)" required/>
<label for="nights">Nights </label>
<input class="numdays2" type="text" id="numdays2" name="nights[]" readonly />
Это должно решить проблему