javascript - 如何将 Fullcalendar 插件中的日期与日期数组进行比较

标签 javascript jquery jquery-plugins fullcalendar

我想将数组中的一组日期与日历中的所有日期进行比较。 这是我写的代码。我应该如何将数组传递给 dayrender 函数?

获取日期的方法

function GetFoodDetails() {
    $.ajax({
        url: 'Food/getFoodDetails',
        data: {},
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        type: 'GET',
        success: function (result) {
            myArray = new Array(result.length);
            for (var index = 0; index < result.length; index++) {
                debugger;
                //  myArray[index] = Date(result[index].Date.split('(')[1].split(')')[0].toString());
                var date = new Date(parseInt(result[index].Date.substr(6)));
                myArray[index] = date;                    

            } //end of loop
        },
        error: function (response) {
            alert('eror');
            console.log(response);
        }
    });        
}

在 Fullcalendar 插件中

dayRender: function (date, cell) {
    myArray.forEach(function (item) {
        if (date._d.getDate() == item.getDate() && date._d.getMonth() == item.getMonth()) 
        {
            $(cell).toggleClass('selected');
        }
    });
}

最佳答案

好吧,jquery Data Method可以在这里为您提供帮助:

添加 $('body').data( "date_global", myArray); 来存储您的日期数组。

您可以尝试这种技术,例如:

function GetFoodDetails() {
    $.ajax({
        url: 'Food/getFoodDetails',
        data: {},
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        type: 'GET',
        success: function (result) {
            myArray = new Array(result.length);
            for (var index = 0; index < result.length; index++) {
                debugger;
                //  myArray[index] = Date(result[index].Date.split('(')[1].split(')')[0].toString());
                var date = new Date(parseInt(result[index].Date.substr(6)));
                myArray[index] = date;                    

            } //end of loop
            $('body').data( "date_global", myArray);
        },
        error: function (response) {
            alert('eror');
            console.log(response);
        }
    });        
}

例如,在代码中的任何位置获取此数组,请写入:$('body').data( "date_global")

dayRender: function (date, cell) {
    console.log($('body').data( "date_global" ));
    myArray.forEach(function (item) {
        if (date._d.getDate() == item.getDate() && date._d.getMonth() == item.getMonth()) 
        {
            $(cell).toggleClass('selected');
        }
    });
}

关于javascript - 如何将 Fullcalendar 插件中的日期与日期数组进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25376269/

相关文章:

javascript - 在 jQuery 中选择 DOM 元素 - 动态添加

jquery - 评级插件

jquery - 如何检查是否加载了 jQuery 插件?

javascript - 切换父 div 的底部属性

javascript - 按钮点击平滑滚动 : Not working for me but works great in the Code Snippet

c# - MVC5 通过 Jquery Ajax 返回通用对象列表

JQuery AJAX 请求行为同步

jquery - 重置 Bootstrap 单选按钮

javascript - 用D3绘制三个相互交织的圆圈

javascript - 构建应用程序后 react 路由器不工作