0

このコードで todate 4 日 + fromdate の選択した値を設定しようとしていますが、機能しません。私が望むのは、人が最初のカレンダーの日付を選択したときに、2 番目の minDate を選択した最初の日付の値の 4 日後にしたいということです。

<?php
// has all script and css includes
include('includes/header.php');
?>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<div class="container">
<div class="row">
<div class="span3"></div>
<div class="span9">
<input class='fromdate' id='fromdate' />
<input class='todate' id='todate' />
<input class='calculated' />
<!-- <input class='minim' /> -->
</div>
</div>
</div>
<script>
$('.fromdate').datepicker({
    dateFormat: 'mm-dd-yy',
    minDate:(+4)

});
$('.todate').datepicker({
    dateFormat: 'mm-dd-yy'
});
$('.fromdate').datepicker().bind("change", function () {
    var minValue = $(this).val();
    minValue = $.datepicker.parseDate("mm-dd-yy", minValue);
    $('.todate').datepicker("option", "minDate", minValue);
    calculate();
});
$('.todate').datepicker().bind("change", function () {
    var maxValue = $(this).val();
    maxValue = $.datepicker.parseDate("mm-dd-yy", maxValue);
    $('.fromdate').datepicker("option", "maxDate", maxValue);
    calculate();
});

function calculate() {
    var d1 = $('.fromdate').datepicker('getDate');
    var d2 = $('.todate').datepicker('getDate');
    var diff = 1;
    if (d1 && d2) {
        diff = diff + Math.floor((d2.getTime() - d1.getTime()) / 86400000); // ms per day
    }
    $('.calculated').val(diff);
    $('.minim').val(d1)
}
</script>
4

1 に答える 1

3

私は答えを見つけました、そしてそれは以下のようになります、

$(document).ready(function () {
   $("#fromdate").datepicker({
        dateFormat: "mm-dd-yy",
        minDate: 0,
        onSelect: function (date) {
            var date2 = $('#fromdate').datepicker('getDate');
            date2.setDate(date2.getDate() + 4);
            $('#todate').datepicker('setDate', date2);
            //sets minDate to dt1 date + 4
            $('#todate').datepicker('option', 'minDate', date2);
        }
    });
    $('#todate').datepicker({
        dateFormat: "mm-dd-yy",
        onClose: function () {
            var dt1 = $('#fromdate').datepicker('getDate');
            var dt2 = $('#todate').datepicker('getDate');
            //check to prevent a user from entering a date below date of dt1
            if (dt2 <= dt1) {
                var minDate = $('#todate').datepicker('option', 'minDate');
                $('#todate').datepicker('setDate', minDate);
            }
        }
    });
});

デモ

于 2013-08-21T04:51:37.923 に答える