首页 > 解决方案 > 完整日历中的日期循环

问题描述

这就是我想在日历中显示我的日期的方式** 我正在尝试使用 for 循环将日期动态添加到 fullCalendar 中**,这是我的代码

odoo.define('website_customs.calender', function(require) {
"use strict";


    $(function() {

       var value_1 = $('.passed_value').text();
       var objectStringArray = (new Function("return [" + value_1+ "];")());
       console.log(objectStringArray,objectStringArray[0])
       var array=[]

       for (var i in objectStringArray[0]){

       array.push(objectStringArray[0][i])

       }

       console.log("array :", array) //["2018-9-24", "2018-9-26", "2018-9-25"]
       console.log("array length",(array.length)); // 3


         $('#calendar').fullCalendar({




         for (var j = 0; j < array.length; j++) {
         events:
         [             
                        {
                        title: 'Booked',
                        start: array[j]
                        },
         ],
                                             }



    eventRender: function (event, element, view) {
        // event.start is already a moment.js object
        // we can apply .format()
        var dateString = event.start.format("YYYY-MM-DD");

        $(view.el[0]).find('.fc-day[data-date=' + dateString + ']').css('background-color', '#b72727');
     }

});

});
});

但是我遇到了错误Uncaught SyntaxError: Unexpected token var ,我尝试将循环放在事件之外,但仍然出现错误。

我应该尝试其他方法吗?有什么建议吗?

提前致谢。

标签: javascriptjqueryfor-loopfullcalendar

解决方案


这就是您的活动应该准备的方式。

odoo.define('website_customs.calender', function(require) {
  "use strict";
  $(function() {
    var value_1 = $('.passed_value').text();
    var objectStringArray = (new Function("return [" + value_1 + "];")());
    console.log(objectStringArray, objectStringArray[0])
    var array = [];

    for (var i in objectStringArray[0]) {
      array.push(objectStringArray[0][i])
    }

    console.log("array :", array) //["2018-9-24", "2018-9-26", "2018-9-25"]
    console.log("array length", (array.length)); // 3

    var eventsArray = []
    for (var j = 0; j < array.length; j++) {
      eventsArray.push({ title: 'Booked', start: array[j] });
    }

    $('#calendar').fullCalendar({
      events: eventsArray,
      eventRender: function(event, element, view) {
        // event.start is already a moment.js object
        // we can apply .format()
        var dateString = event.start.format("YYYY-MM-DD");
        $(view.el[0]).find('.fc-day[data-date=' + dateString + ']').css('background-color', '#b72727');
      }
    });
  });
});

推荐阅读