2012-06-12 2 views
0

У меня есть следующий код, гарантирующий, что если пользователь выберет ту же дату проверки, что и дату проведения конференции, тогда «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>&nbsp;</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); 
+0

Не можете ли вы добавить 1 к результату '(end-start)/1000/60/60/24;'? Вы должны, если нет, если ... так что это должно решить вашу проблему. – Zefiryn

+0

большое спасибо. что сделал трюк :-) Большое спасибо – user1426583

+0

Zefiryn: вы должны отправить свой комментарий в качестве ответа, чтобы этот вопрос можно было закрыть. – machineghost

ответ

1

Опубликовать эту задницу, чтобы закрыть вопрос.

Разве вы не можете добавить 1 к результату (end - start)/1000/60/60/24;? Вы должны, если нет, если ... так, чтобы это решило вашу проблему.

Смежные вопросы