У меня есть следующий код, гарантирующий, что если пользователь выберет ту же дату проверки, что и дату проведения конференции, тогда «total_days» = 1 , если разница в датах составляет> 0 - тогда это должен обновить еще один день для каждого из них. т.е. «дата конференции в = 13.06.12» «дата конференции = 13.06.12» - общие дни = 1 - это правильно. однако, если «дата конференции в = 13.06.12» и «дата конференции = 14.06.12», то «total_days» должно быть 2, а не 1. что я делаю неправильно? Я пробовал следующее:расчет датпикера
<td>Conference Date In</td>
<td><input type="text" name="conference_date_in" id="conference_date_in" class="datepicker" /></td>
<td> </td>
<td>Conference Date Out</td>
<td><input type="text" name="conference_date_out" id="conference_date_out" class="datepicker" /></td>
</tr>
<td>Total Days</td>
<td><input type="text" name="total_days" id="total_days" /></td>
</tr>
<script type="text/javascript">
$(function() {
$(".datepicker").datepicker({ minDate: -0, maxDate: "+100M +10D",dateFormat: 'dd-mm-yy'})
({
changeMonth: true,
changeYear: true,
});
});
var enquiry_date = $.datepicker.formatDate('dd-mm-yy', new Date());
document.getElementById('enquiry_date').value = enquiry_date;
var calcDate = function() {
var start = $('#conference_date_in').datepicker('getDate');
var end = $('#conference_date_out').datepicker('getDate');
var days = (end - start)/1000/60/60/24;
if(days==0) {days=1
}
if(days >= 0) {
document.getElementById('total_days').value = days;
}
}
$('#conference_date_out').change(calcDate);
$('#conference_date_in').change(calcDate);
Не можете ли вы добавить 1 к результату '(end-start)/1000/60/60/24;'? Вы должны, если нет, если ... так что это должно решить вашу проблему. – Zefiryn
большое спасибо. что сделал трюк :-) Большое спасибо – user1426583
Zefiryn: вы должны отправить свой комментарий в качестве ответа, чтобы этот вопрос можно было закрыть. – machineghost