3

以下のスニペットは 2 つの日付を選択するためのものです。そのための別の機能を追加する必要があります。つまり、終了日の選択は開始日よりも 1 日後に制限する必要があります。

$(function() {
    $( "#fromDate" ).datepicker({
        defaultDate: "+0",
        changeMonth: true,
        changeYear: true,
        numberOfMonths: 1,
        dateFormat:"yy-mm-dd",
        onClose: function( selectedDate ) {
            $( "#toDate" ).datepicker( "option", "minDate", selectedDate);
            this.focus();
        }
    });
    $( "#toDate" ).datepicker({
        defaultDate: "+0",
        changeMonth: true,
        changeYear: true,
        numberOfMonths: 1,
        dateFormat:"yy-mm-dd",
        onClose: function( selectedDate ) {
            $( "#fromDate" ).datepicker( "option", "maxDate", selectedDate );
        }
    });
});

事前にt​​hx!!!

4

3 に答える 3

0

これが正しい方法かどうかはわかりませんが、必要に応じて機能します

$(function() {
        $( "#from" ).datepicker({
            defaultDate: "+1w",
            changeMonth: true,
            numberOfMonths: 3,
            onClose: function( selectedDate ) {
                var today = new Date(selectedDate);
                var tomorrow = new Date(today.getTime() + (24 * 60 * 60 * 1000));
                var curr_date = tomorrow.getDate();
                var curr_month = tomorrow.getMonth() + 1; //Months are zero based
                var curr_year = tomorrow.getFullYear();

                var max_string = curr_month+"/"+curr_date+"/"+curr_year;

                $( "#to" ).datepicker( "option", "minDate", selectedDate );
                $( "#to" ).datepicker( "option", "maxDate", max_string );
            }
        });
        $( "#to" ).datepicker({
            defaultDate: "+1w",
            changeMonth: true,
            numberOfMonths: 3,
            onClose: function( selectedDate ) {
                $( "#from" ).datepicker( "option", "maxDate", selectedDate );
            }
        });
    });
于 2012-12-19T06:43:31.160 に答える
0

あなたの質問に対する簡単な解決策です.2行のjsコードとBINGO!!. 要件に従って数を変更するだけです(最大日数を1日以上にしたい場合)

$("#from").datepicker({
                defaultDate: "+1w",
                changeMonth: true,
                numberOfMonths: 1,
                onClose: function (selectedDate) {
                    var d = new Date(selectedDate);
                    d.setDate(d.getDate() + 1);
                    $("#to").datepicker("option", "minDate", selectedDate);
                    $("#to").datepicker("option", "maxDate", d);
                }
            });
            $("#to").datepicker({
                defaultDate: "+1w",
                changeMonth: true,
                numberOfMonths: 1,
                onClose: function (selectedDate) {
                    $("#from").datepicker("option", "maxDate", selectedDate);
                }
            });
于 2012-12-19T07:35:56.210 に答える