1

jQueryカレンダーがあります。他の変数に応じて月曜日や火曜日などしか選択できないようにする必要があります。これで、今日が2012年4月27日で、選択可能な日が木曜日で、2012年4月27日または現在の日付に注意して設定されている場合、選択可能な日付がない場合でも、デフォルトの月は4月のままです。

その場合、デフォルトの月が選択可能な日を含む月になるようにするにはどうすればよいですか。

フィギュアがお役に立てば幸いです!

ここに画像の説明を入力してください

4

1 に答える 1

1

カスタム関数を使用してdefaultDate/を設定できますminDate。ここに、有効な曜日を定義する配列があります。現在の日付が 1 つでない場合は、見つかるまで先に進みます。特定の用途に合わせて、次のようにカスタマイズできます。

var validDays = [0, 1, 1, 0, 0, 1, 0];

function firstDate() {
    var valDate = new Date();
    valDate.setDate(valDate.getDate() + 14);
    var day = valDate.getDay();
    var i = 0;
    while (validDays[day] != 1 && i < 7) {
        valDate.setDate(valDate.getDate() + 1);
        day = valDate.getDay();
        i++;
    }
    return valDate;
}

function validDate(date) {
    if (validDays[date.getDay()] == 1) {
        return [true, ""];
    } else {
        return [false, ""]
    }
}

$(function() {
    $("#datepicker").datepicker({
        beforeShowDay: validDate,
        minDate: firstDate(),
        defaultDate: firstDate()
    });
});

デモ: http://jsfiddle.net/jtbowden/LgLr9/1/

于 2012-04-13T04:51:33.103 に答える