我正在开发一个使用大量 jQuery UI 控件的 asp.net 应用程序,尤其是 datepicker。
在我的 Web 服务中,我正在调用数据库并检索对象列表,然后将它们传递回我的 javascript,在那里我将它们解析成一个包含 1 个或多个如下所示对象的数组:
我需要包含某种逻辑,我可以在其中循环遍历这个对象数组并检查 javascript Date 是否位于对象的 EndDate 和 StartDate 属性之间,以便我可以为 DatePicker 应用 css 样式。第一个问题,有没有办法将 EndDate/StartDate 属性从这种格式转换为有效的 javascript 日期?如果是这样,我如何遍历数组并应用逻辑来查看日期是否在范围内?
任何帮助是极大的赞赏!
编辑:我注意到这里的图像很难看到你可以更清楚地阅读这里的属性:
根据要求,这里是一些示例代码:
function createDateRangesForCalendar() {
$.ajax({
type: "POST",
url: "../Services/BookingService.asmx/GetCalendarDateRanges",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false,
success: function (response) {
dateRanges = $.parseJSON(response.d);
},
error: function (xhr, textStatus, thrownError) {
alert(textStatus);
alert(thrownError);
}
});
}
function markInvalidDates(date) {
var isHoliday = false;
dmy = date.getDate() + "-" + (date.getMonth() + 1) + "-" + date.getFullYear();
isHoliday = checkIsHoliday(date);
if ($.inArray(dmy, invalidDays) == -1) {
for (var i = 0; i < dateRanges.length; i++) {
// if date falls in between start and end date of object[i] return something like: return [true, "holiday", "Holiday Rates Apply - Minimum 14 days"];
// else loop through to the next object and try there
}
if (isHoliday == true) {
return [true, "holiday", "Holiday Rates Apply - Minimum 14 days"];
} else {
return [true, ""];
}
} else {
return [false, "unavailable", "Unavailable"];
}
}