0

日付を正しく表示できません。日付の選択で金曜日を選択します。例: 月曜日の 26.8 日付ピッカーを選択すると、(onselect) 金曜日の 30.8 が返されます。日付形式は dd.mm.yy である必要があります。

ここにコードがあります:http://jsfiddle.net/JBrvn/8/

$(function () {
    $('#to').attr('disabled', true);
    $("#from").datepicker({
        dateFormat: 'dd.mm.yy',
        onSelect: function (selectedDate) {
            var x = selectedDate.split('.');
            var d = new Date(x[1] + ',' + x[0] + ',' + x[2]);
            var res = d.setDate(d.getDate() + 7);
            var dateMsg = d.getDate() + '.' + (d.getMonth() + 1) + '.' + d.getFullYear();
            $("#to").removeAttr('disabled').removeClass('hasDatepicker').datepicker({
                minDate: dateMsg,
                dateFormat: 'dd.mm.yy',
                onSelect: function (date) {
                     var d = new Date(date);
                     var index = d.getDay();
                     if (index == 0) {
                        d.setDate(d.getDate() + 5);
                    }
                    else if (index == 1) {
                        d.setDate(d.getDate() + 4);
                    }
                    else if (index == 2) {
                        d.setDate(d.getDate() + 3);
                    }
                    else if (index == 3) {
                        d.setDate(d.getDate() + 2);
                    }
                    else if (index == 4) {
                        d.setDate(d.getDate() + 1);
                    }
                    else if (index == 5) {
                        d.setDate(d.getDate() + 0);
                    }
                    else if (index == 6) {
                        d.setDate(d.getDate() + 6);
                    }
                    var curr_day = d.getDate();
                    var curr_month = d.getMonth() + 1;
                    var curr_year = d.getFullYear();
                    $(this).val((curr_day<10? "0":"")+curr_day + "." +(curr_month<10? "0":"")+curr_month + "." + curr_year);
                     }
            });
        }
    });
});
4

1 に答える 1

1

Dateオブジェクトは jQuery ではなく JavaScript であるため、jQuery の日付ピッカーの日付形式には従いません。Date最初の日付ピッカーの結果を使用して日付オブジェクトを作成し、2 番目にフィードするには、それを理解できる形式に変換する必要があります。

onSelect: function (dateString) {
   var date = dateString.split("."); //split the string into an array
   var d = new Date(date[2],date[1],date[0]); //feed the year, month, and date in the order Date expects
于 2013-08-30T08:07:50.980 に答える