0

データベースからフェッチされた特定の日付を無効にする必要があるasp.netアプリケーションに取り組んでいます。

以下のjsFiddleのスクリプトは、特定の日付のみを強調表示しますが、クリック可能であるため、日付を無効にしないで機能します。

HTML:

<input id="txtBookDate" type="text" />

JavaScript:

var holiDays = [[2012, 06, 06, 'New Years Day'], [2012, 06, 14, 'Pongal'], [2011, 12, 25, 'Christmas Day']];
$(function () {
    $('#txtBookDate').datepicker({
        dateFormat: "yy-mm-dd",
        minDate: "+2d",
        maxDate: "+30d",
        beforeShowDay: setHoliDays
    });

    // 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 [true, 'holiday', holiDays[i][3]];
            }
        }
        return [true, ''];
    }
});

http://jsfiddle.net/Skjrn/14/

クリックできない配列に記載されているように、誰かがこれを修正できれば幸いです。

よろしく

4

1 に答える 1

0

これは、休日をチェックするときに最初のパラメーターとして true を渡すためです。

http://jsfiddle.net/gRoberts/Skjrn/16/を参照

    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]]; // changed from [true, 'holiday', holiDays[i][3]];
            }
        }
        return [true, ''];
    }
于 2012-05-30T13:14:27.810 に答える