目前,我有此代碼可以讓我更改特殊的聖誕交貨日期。今年,我們提供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然後它必須返回一個數組。還要注意,儘管<
和>
適用於日期比較,==
和===
不適用。