目前,我有此代码可以让我更改特殊的圣诞交货日期。今年,我们提供3个交付日期 - 21,22和23日。我如何操作此代码以允许这样的范围?如何在Js中创建交货日期范围
当前代码:
setValidDaysForNationwideDelivery: function(date) {
if ((date.getMonth() == 11) && (date.getDate() == 21)) {
return [true, ""];
}
}
目前,我有此代码可以让我更改特殊的圣诞交货日期。今年,我们提供3个交付日期 - 21,22和23日。我如何操作此代码以允许这样的范围?如何在Js中创建交货日期范围
当前代码:
setValidDaysForNationwideDelivery: function(date) {
if ((date.getMonth() == 11) && (date.getDate() == 21)) {
return [true, ""];
}
}
只需使用一个范围:
setValidDaysForNationwideDelivery: function(date) {
if (date.getMonth() == 11 && date.getDate() >= 21 && date.getDate() <= 23) {
return [true, ""]; }
边注:额外()
围绕每个比较(date.getMonth() == 11
)绝对没有任何影响,我已删除他们在上面。
像这样:
setValidDaysForNationwideDelivery: function(date) {
date = date.getMonth() + '-' + date.getDate();
var range = ['11-21', '11-22', '11-23'];
if (range.indexOf(date) !== -1) {
return [true, ""];
}
}
这种方法的优点是:明年你将只需要在remplace范围变量的日期,你可以把你想要的任何东西。
创建代表开始和结束日期的JavaScript日期对象,然后检查日期使用大于/小于比较范围之内:
setValidDaysForNationwideDelivery: function(date) {
var d1 = new Date(2014, 11, 21);
var d2 = new Date(2014, 11, 23);
return [d1 <= date && date <= d2, ""];
}
注:如果您使用的是与jQuery UI此功能datepicker然后它必须返回一个数组。还要注意,尽管<
和>
适用于日期比较,==
和===
不适用。