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)工作正常,但第二个没有:

(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

我认为您尝试objectstring. 在第一次测试中,您使用d.getDay()的是 JavaScript 中 Date 对象的方法。

尝试将您的d对象转换为字符串。

于 2012-12-18T11:49:37.733 回答