IE 11中没有填充完整日历调度程序中的资源数组

时间:2017-08-17 09:05:08

标签: javascript jquery fullcalendar fullcalendar-scheduler

我正在使用完整的日历调度程序(1.6.2),我正在从一些下拉列表中检索资源并创建数组并将其提供给完整的日历调度程序。资源在firefox中成功添加,但在IE 11中只添加了最后选择的下拉列表,下面是我的代码。我缺少什么,或者完整日历中是否有任何错误。

$("#schedule_employees > option:selected").each(function() {
    var id = $(this).attr('id');
    var title = $(this).text();
    item = {}
    item.id = id;
    item.title = title;
    employees.push(item);
    employee2 = employee2 + $(this).attr('id') + ",";
});

if (employees.length == 0) {
    alert("Please select the employees");
    return false;
}

$('#calendar').fullCalendar('destroy');
$('#calendar').fullCalendar({
    aspectRatio: '1',
    height: "auto",
    scrollTime: '00:00',
    header: {
        left: 'prev,next today',
        center: 'title',
        right: 'Schedule,agendaDays'
    },
    groupByResource: "true",
    defaultView: 'Schedule',
    titleRangeSeparator: ' - ',
    allDaySlot: false,
    timeFormat: 'HH:mm',
    views: {
        agendaDays: {
            type: 'agenda',
            slotLabelFormat: 'HH:mm',
            //groupByDateAndResource: true,
            groupByResource: true,
            buttonText: 'Agenda 2 days',
            duration: {
                days: 2
            },
        },
        Schedule: {
            type: 'timeline',
            slotDuration: '04:00:00',
            slotLabelInterval: {
                hours: 4
            },
            buttonText: 'Schedule',
            visibleRange: {
                start: moment($("#start_Date input").val(), 'MM/DD/YYYY HH:mm').format('YYYY-MM-DD'),
                end: moment($("#end_Date input").val(), 'MM/DD/YYYY HH:mm').add(1, 'days').format('YYYY-MM-DD')
            }
        }
    },
    resourceLabelText: 'Employees',
    resourceAreaWidth: '25%',
    resources: employees,
    viewRender: function(view, element) {
        renderScheduleReport(employee2);
    },
    eventClick: function(event, jsEvent, view) {
        alert("hi");
    }
});

1 个答案:

答案 0 :(得分:1)

经过几个小时的调试后,我发现了什么问题。在下面的循环中,employees数组包含每个迭代的相同元素,替换现有的元素,因此在end变量中包含相同的元素.Don'我知道为什么IE总会造成麻烦。

$("#schedule_employees > option:selected").each(function() {
    var id = $(this).attr('id');
    var title = $(this).text();   

更改以下行
    item = {} //this is causing issue  

  

var item = {};

    item.id = id;
    item.title = title;
    employees.push(item);
    employee2 = employee2 + $(this).attr('id') + ",";
});