2

ASP.net Webformアプリケーションに取り組んでおり、特定の日付と週末を金曜日と土曜日にブロックする必要があります。

次のコードは正常に機能します。日付はブロックされますが、デフォルトでは土曜日と日曜日が週末としてブロックされますが、カレンダーのすべての金曜日と土曜日をブロックする必要があります。

この特定のコードを修正していただければ幸いです。jQueryカレンダーにさまざまな週末を指定するための組み込みプロパティがあるかどうかはわかりません

var holiDays = [[2012, 07, 06, 'New Years Day'], [2012, 07, 14, 'Event XYZ'], [2011, 17, 25, 'Christmas Day']];
$(function () {
    $("#<%=txtBookDate.ClientID %>").datepicker({
        dateFormat: "yy-mm-dd",
        minDate: "-0d",
        maxDate: "+60d",
        beforeShowDay: noWeekendsOrHolidaysOrBlockedDates
    });

    function noWeekendsOrHolidaysOrBlockedDates(date) {
        var noWeekend = jQuery.datepicker.noWeekends(date);
        return noWeekend[0] ? setHoliDays(date) : noWeekend;
    }

    // set holidays function which is configured in beforeShowDay
    function setHoliDays(date) {
        for (i = 0; i < holiDays.length; i++) {
            if (date.getFullYear() == holiDays[i][0]
  && date.getMonth() == holiDays[i][1] - 1
  && date.getDate() == holiDays[i][2]) {
                return [false, 'holiday', holiDays[i][3]];
            }
        }
        return [true, ''];
    }


});
4

1 に答える 1

3

jQuery UIソースにアクセスできませんか?奇妙なことに、これはjavascriptであり、通常は無料で入手できます。

/* Set as beforeShowDay function to prevent selection of weekends.
   @param  date  Date - the date to customise
   @return [boolean, string] - is this date selectable?, what is its CSS class? */
noWeekends: function(date) {
    var day = date.getDay();
    return [(day > 0 && day < 6), ''];
}

カスタマイズできないように見えますが、独自の関数として再実装するのは比較的簡単です。

于 2012-06-21T07:40:42.843 に答える