0

ちょっとしたコンテキスト:JQuery DatePickerの日付をcssクラスでマークして、可用性のレベルを示しようとしています。(緑色の日付=大量の可用性、オレンジ色の日付=ある程度の可用性、無効=可用性なし)。結果として生じるサービスを作成しました

ViewBag.AvailabilityTimeMap = IDictionary<DateTime, int> 
//int is the availability/capacity of the specified date.

これをビューに書き込んで、DatePickerのbeforeShowDay関数が、渡された日付とディクショナリのDateTimeを一致させることができるようにします。

$('#_uiAppCalendarDiv').datepicker({
    beforeShowDay: renderCalendarCallback
});

var dateMap = @Html.Raw(SomeSortOfSerialization(ViewBag.AvailabilityTimeMap));

function renderCalendarCallback(date) {
    //eliminate weekends
    if ($.datepicker.noWeekends(date) == false){
        return false;
    }

    for(var index in dateMap) {
      if (index.key == date.toJSON()){ 
        //apply the appropriate css
        return true;
      }
    }
    //date is not in the availability map (should not happen).
    return false;    
}

正しい「SomeSortOfSerialization」でこれは可能だと思いますか?Json.Encodeは、JavaScriptではあまり処理できない奇妙な形式をDateTimeに使用しているようです。

4

0 に答える 0