1

私の要件により、JQUERY 日付ピッカーで特定の日付を「有効にする」方法の例を探しています。2 行のコードですべてを無効にしましたが、ロジックには有効にする必要がある特定の日付がいくつかあります。無効にしてこれを行うには、はるかに複雑なコードが必要になります。有効化の例を見つけようとしましたが、何も思いつきませんでした。

特定の日付に実行できない場合は、続行する必要がありますが、最初に確認したかったのです

function changeFormat() {
    dVal = $("#FirstPeriodReconDate").datepicker("getDate");

    StartDate = new Date(dVal);
    EndDate = new Date(dVal);

    $("#FirstROCRecycleReconDate").datepicker("option", "numberOfMonths", 3);
    $("#FirstROCRecycleReconDate").datepicker("option", "buttonImage",
        $("#AbsolutePath").val() + 'Content/images/Control_MonthCalendar.bmp');
    $("#FirstROCRecycleReconDate").datepicker("option", "buttonImageOnly", true);

    StartDate = new Date("May 20, 2012");
    EndDate = new Date("June 21, 2012");
    $("#FirstROCRecycleReconDate").datepicker("option", "minDate", StartDate);
    $("#FirstROCRecycleReconDate").datepicker("option", "maxDate", EndDate);
}

ここで、特定の日付を有効にしたいと思います。この時点では、すべての日付が無効になっています。2012 年 6 月 1 日などを有効にする必要がありますが、可能かどうかはわかりません

よろしくお願いします J

4

1 に答える 1

2

beforeShowDayjQuery UIのDatepicker(docs)のイベントを使用できます。

この関数は日付をパラメーターとして受け取り、この日付が選択可能かどうかを示すtrue / falseに等しい[0] 、デフォルトのプレゼンテーションのCSSクラス名または ""に等しい1 、および2この日付のオプションのポップアップツールチップ。表示される前に、日付ピッカーで毎日呼び出されます。

次のように実装できます(ライブ例):

var _allowedDates = [
    new Date(2012, 4, 27).getTime(),
    new Date(2012, 4, 28).getTime(),
    new Date(2012, 4, 29).getTime(),
];

function allowedDates(date) {
    date = date.getTime();

    for (i in _allowedDates)
        if (date == _allowedDates[i])
            return [true, ""];

    return [false, ""];
}

$('#datepicker').datepicker({
    beforeShowDay: allowedDates
});​
于 2012-05-28T13:32:20.307 に答える