jQuery Frontier Calendar不在IE 8中呈现事件

时间:2013-05-15 14:12:03

标签: c# jquery jquery-plugins

我在jQuery Frontier Calendar使用page一切正常并且呈现正常,除了在IE 8.0中,事件根本不会出现。初始化事件的代码如下所示

  /**
    * Initialize display event form.
    */
    $("#display-event-form").dialog({
        autoOpen: false,
        height: 400,
        width: 400,
        modal: true,
        open: function (event, ui) {
            if (clickAgendaItem != null) {
                var title = clickAgendaItem.title;
                var startDate = clickAgendaItem.startDate;
                var endDate = clickAgendaItem.endDate;
                var allDay = clickAgendaItem.allDay;
                var data = clickAgendaItem.data;
                // in our example add agenda modal form we put some fake data in the agenda data. we can retrieve it here.
                $("#display-event-form").append(
                "<br><b>" + title + "</b><br><br>"
            );
                if (allDay) {
                    $("#display-event-form").append(
                    "(All day event)<br><br>"
                );
                } else {
                    $("#display-event-form").append(
                    "<b>Event Date:</b> " + startDate.toString('yyyy-MM-dd') + "<br><br>"
                );
                }
                for (var propertyName in data) {
                    $("#display-event-form").append("<b>" + propertyName + ":</b> " + data[propertyName] + "<br>");
                }
            }
        },
        close: function () {
            // clear agenda data
            $("#display-event-form").html("");
        }
    });

                <asp:Repeater id="m_eventOutput" runat="server">
                    <ItemTemplate>
                     jfcalplugin.addAgendaItem(
                    "#mycal",
                    "<%# DataBinder.Eval(Container.DataItem, "EventTitle") %>",
                    new Date('<%# DataBinder.Eval(Container.DataItem,"EventDate","{0:yyyy-MM-dd}") %>'),
                    new Date('<%# DataBinder.Eval(Container.DataItem,"EventDate","{0:yyyy-MM-dd}") %>'),
                    false,
                    {
                        Type: '<%# DataBinder.Eval(Container.DataItem, "EventType") %>',
                        Time: '<%# DataBinder.Eval(Container.DataItem, "Time")%>',
                        Venue: '<%# DataBinder.Eval(Container.DataItem, "Venue")%>'
                    },
                    {
                        backgroundColor: $("#colorBackground").val(),
                        foregroundColor: $("#colorForeground").val()
                    },
                    '<%# DataBinder.Eval(Container.DataItem, "EventItemId") %>'
                );
                    </ItemTemplate>
                </asp:Repeater>

});

为什么这些事件不会出现在IE8中的任何想法。感谢

1 个答案:

答案 0 :(得分:0)

我们终于发现问题在于IE处理的日期格式。我通过更改转发器控件中的日期格式来实现此功能,如下所示

new Date('<%# DataBinder.Eval(Container.DataItem,"EventDate","{0:MMMM dd, yyyy}") %>'),
new Date('<%#DataBinder.Eval(Container.DataItem,"EventDate","{0:MMMM dd, yyyy}") %>'),

我们花了至少几天来解决这个问题,希望它可以帮助有类似问题的人。