2

jQuery UI Datepicker を含む予約フォームを作成していますが、助けが必要な主な問題があります: 一部の旅行では、特定の日のみがアクティブになり、サイクロンの季節などのために特定の月しか販売できません。

特定の平日を無効にする機能は完璧に機能しますが、10 月などの月全体を無効にする方法がわかりません。出来ますか?

アドバイスは役に立ちます。これが私のコードです。質問をよりよく説明する必要があるかどうか、またはコードの他の部分を追加する必要があるかどうかを教えてください。前もって感謝します!

$.datepicker.setDefaults( $.datepicker.regional[ getLanguage() ] );

$( "#booking" ).datepicker({
   showOn: "button",
   dateFormat : 'yy/mm/dd',
   buttonText: "Select",
   beforeShowDay: disableSpecificWeekDays,
   changeMonth: true,
   changeYear: true,
   minDate: 0
}
);

// 0 = monday, 1 = tuesday, 2 = wednesday, 3 = thursday, 4=friday, 5 = saturday, 6=sunday
var daysToDisable = [1, 4, 6];

function disableSpecificWeekDays(date) {
            var day = date.getDay();
            for (i = 0; i < daysToDisable.length; i++) {
                if ($.inArray(day, daysToDisable) != -1) {
                    return [false];
                }
            }
            return [true];
 }

たとえば、このコードを使用すると、特定の日付を非アクティブ化できますが、1 か月全体を非アクティブ化するには、各日付を書き込む必要があり、場合によっては、旅行ごとに少なくとも 3 か月または 4 か月を非アクティブ化する必要があります.

var $disableMonths = new Array("2013/10/01","2013/10/02","2013/10/03", "...");

function disableSpecificMonths(mydate){
var $return = true;
var $returnclass ="available";

$checkdate = $.datepicker.formatDate('yy/mm/dd', mydate);

    for(var i = 0; i < $disableMonths.length; i++) {
            if($disableMonths[i] == $checkdate) {
                $return = false;
                $returnclass= "unavailable";
            }
    }

return [$return,$returnclass];

}

また、月全体を無効にすることができない場合は、この 2 つの機能をどのように組み合わせることができるかについてアイデアを得るのが大好きなので、特定の曜日と特定の日付を無効にします。

4

1 に答える 1

4

「機能を無効にする」を次のように更新できます。

var daysToDisable = [1, 4, 6];
var monthsToDisable = [9];

function disableSpecificWeekDays(date) {
    var day = date.getDay();
    if ($.inArray(day, daysToDisable) != -1) {
        return [false];
    }

    var month = date.getMonth();
    if ($.inArray(month, monthsToDisable) != -1) {
        return [false];
    }
    return [true];
}
于 2013-08-23T02:12:30.937 に答える