我正在尝试比较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)
对我来说看起来一样。
有什么想法吗?
答案 0 :(得分: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"]
}
}
答案 1 :(得分:0)
我认为您尝试将object
与string
进行比较。
在第一次测试时,您使用了d.getDay()
,它是javascript中Date对象的方法。
尝试将您的d
对象转换为字符串。