0

ユーザーが会議のチェックアウト日と同じチェックイン日を選択した場合、日付の差が0より大きい場合は「total_days」= 1を選択し、さらに1日更新するようにするための次のコードがあります。それぞれについて。つまり、「会議の日付=13.06.12」「会議の日付=13.06.12」-合計日数=1-これは正しいです。ただし、「conference date in = 13.06.12」、「conference date out = 14.06.12」の場合、「total_days」は1ではなく2にする必要があります。何が間違っているのでしょうか。私は以下を試しました:

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

1 に答える 1

1

このお尻の答えを投稿して問題を解決します。

結果に1を足すだけではいけません(end - start) / 1000 / 60 / 60 / 24;か?if..elseでない場合は、これで問題が解決するはずです。

于 2012-06-13T19:12:40.297 に答える