2

jqueryui datepicker.beforeShowDay()の日付を比較して、日が選択可能かどうかを確認しようとしています。ただし、機能していないようです。コードは次のとおりです。

function (d) {
    if ((d.getDay() == 0) || (d == $.datepicker.parseDate('yy/mm/dd', '2012/12/25'))) {
      return [false, ""];
    }
    else {
      return [true, "2"]
    };
}

最初のテスト(getDay)は正常に機能しますが、2番目のテストは機能しません。

(d == $.datepicker.parseDate('yy/mm/dd', '2012/12/25')): false

それでも

$.datepicker.parseDate('dd/mm/yy', '25/12/2012'): Tue Dec 25 2012 00:00:00 GMT+0000 (GMT Standard Time)

d: Tue Dec 25 2012 00:00:00 GMT+0000 (GMT Standard Time)

私には同じように見えます。

何か案は?

4

2 に答える 2

1

このメソッドを使用してformatDate、最初に文字列形式に変換してから、同じタイプの比較を実行します。

function (d) {
    var datestrInNewFormat = $.datepicker.formatDate("yy/mm/dd", d);
    if ((d.getDay() == 0) || (datestrInNewFormat == '2012/12/25')) {
      return [false, ""];
    }
    else {
      return [true, "2"]
    }
}

デモ

于 2012-12-18T12:24:00.707 に答える
0

objectと比較してみてくださいstring。最初のテストでd.getDay()は、JavaScriptのDateオブジェクトのメソッドを使用しました。

dオブジェクトを文字列に変換してみてください。

于 2012-12-18T11:49:37.733 に答える