多くのjQuery UIコントロール、特にdatepickerを利用しているasp.netアプリに取り組んでいます。
私のWebサービスでは、データベースを呼び出してオブジェクトのリストを取得し、それらをjavascriptに戻して、次のような1つ以上のオブジェクトを含む配列に解析しています:
DatePicker に css スタイルを適用できるように、このオブジェクトの配列をループして JavaScript の Date がオブジェクトの EndDate プロパティと StartDate プロパティの間に収まるかどうかを確認するロジックを組み込む必要があります。最初の質問ですが、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"];
}
}