7

fromtoの日付を選択するための 2 つの jQuery 日付ピッカーがあります。次のコードは、最初に 6 月 15 日を選択すると、2 番目に 15 日以降のみ選択できるようになります。

私が抱えている問題は、to datepicker を +1 日に設定する必要があることです。そのため、ユーザーは 16 日以降しか選択できませんでした。

私のスキルは、parseDate に日付を追加するほど十分に進んでいません。

    $(function() {
        var dates = $( "#from_date, #to_date" ).datepicker({
        dateFormat: 'dd-mm-yy',
        minDate: 0,
        onSelect: function( selectedDate ) {
            var option = this.id == "from" ? "minDate" : "maxDate",
            instance = $( this ).data( "datepicker" ),
            date = $.datepicker.parseDate(
            instance.settings.dateFormat ||
            $.datepicker._defaults.dateFormat,
            selectedDate, instance.settings );
            dates.not( this ).datepicker( "option", option, date );
            }
    });
    }); 
4

1 に答える 1

18

1 つの日付ピッカーを他の日付ピッカーに基づいて制限するには、他の日付ピッカーなどで選択された日付にminDateおよび設定を設定できます。maxDate

このようなもの

$(function() {

     /* global setting */
    var datepickersOpt = {
        dateFormat: 'dd-mm-yy',
        minDate   : 0
    }

    $("#from_date").datepicker($.extend({
        onSelect: function() {
            var minDate = $(this).datepicker('getDate');
            minDate.setDate(minDate.getDate()+2); //add two days
            $("#to_date").datepicker( "option", "minDate", minDate);
        }
    },datepickersOpt));

    $("#to_date").datepicker($.extend({
        onSelect: function() {
            var maxDate = $(this).datepicker('getDate');
            maxDate.setDate(maxDate.getDate()-2);
            $("#from_date").datepicker( "option", "maxDate", maxDate);
        }
    },datepickersOpt));
}); 
于 2013-05-03T23:01:06.520 に答える