c# - Kendo 日历中突出显示的日期仅在警报时有效

标签 c# javascript jquery kendo-ui

我见过很多关于“JavaScript 仅在警报时工作”的问题,但答案仅针对这些问题。我正在使用 Kendo Calender,并且想要突出显示数据库中的值中的特定日期。以下代码仅在写入警报时才能正常工作。请帮忙:

 var duedates = [];
     function GetDueDates() {
                     $.ajax({
                     type: "POST",
                     url: "ChartBinder.asmx/GetDueDates",
                     data: '{}',
                     contentType: "application/json; charset=utf-8",
                     dataType: "json",
                     success: function (msg) {
                         duedates = $.parseJSON(msg.d);      
                     },
                     error: function (msg) {    
                         alert("error");
                     }    
                 });
               }


  $(document).ready(function () {
               GetDueDates();   

//当在此处插入警报时功能起作用..

               var today = new Date();
               $("#calendar").kendoCalendar({
                   change: onChange,
                   navigate: onNavigate,
                   value: today,
                   dates: duedates,
                   month: {
                       // template for dates in month view
                       content: '# if ($.inArray(+data.date, data.dates) != -1) { #' +
                                    '<div class="' +
                                           "dataexist" +
                                             '"></div>' +
                                 '# } #' +
                                 '#= data.value #'
                   },
                   footer: "Today - #=kendo.toString(data, 'd') #"

               });          

           $(document).find("#panelbar").kendoPanelBar({
               expandMode: "single"
           });
       });

最佳答案

得到解决方案:更改代码如下:

var duedates = [];       
    function GetDueDates() {
             $.ajax({
             type: "POST",
             url: "ChartBinder.asmx/GetDueDates",
             data: '{}',
             contentType: "application/json; charset=utf-8",
             dataType: "json",
             success: function (msg) {
                 duedates = $.parseJSON(msg.d);                  
                  },
             error: function (msg) {    
                 alert("error");
             }    });
      }

     $(document).ready(function () {
         GetDueDates();
         setTimeout(function () { loadCalender(); }, 100);
         $(document).find("#panelbar").kendoPanelBar({
             expandMode: "single"
         });
         });


     function loadCalender() {
         var today = new Date();
         $("#calendar").kendoCalendar({
             change: onChange,
             navigate: onNavigate,    
             value: today,
             dates: duedates,
             month: {
                 // template for dates in month view
                 content: '# if ($.inArray(+data.date, data.dates) != -1) { #' +
                                                 '<div class="' +
                                                        "dataexist" +
                                                          '"></div>' +
                                              '# } #' +
                                              '#= data.value #'
             },
             footer: "Today - #=kendo.toString(data, 'd') #"
             });    
     }

关于c# - Kendo 日历中突出显示的日期仅在警报时有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14393855/

相关文章:

c# - Request.CreateResponse 与response.Content?

c# - 是否有用于编写快速 C# 代码片段的交互式 shell?

javascript - jQuery 数据表 ajax 回调

javascript - Jquery无法选中复选框

c# - 在 C# 中生成位图 - 已弃用?

c# - winform 上的透明背景?

javascript - Highcharts 堆叠柱上的“圆形”渐变显示为圆柱体

javascript - 当我删除并重新添加 JQuery 事件时,它们会被解除绑定(bind)

javascript - jQuery 延迟触发事件

php - 抓取屏幕分辨率并根据大小显示结果