1

在我的 asp.net mvc3 页面中,我使用 jquery 来显示日历以显示添加到数据库中的事件。它在谷歌浏览器中运行良好,但在 Firefox 19.0.2 中显示以下错误

  <script type="text/javascript" src="@Url.Content("~/Scripts/jquery-1.8.3.js")">   </script>
  <script type="text/javascript" src="http://code.jquery.com/ui/1.10.0/jquery-ui.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.0/themes/base/jquery-i.css">         
<link rel="stylesheet" href="../../Content/css/styleui.css" />   

   <script type="text/javascript">
        $(document).ready(function () {
            $.getJSON("/Page/dates", null, function (data) {
                var s = eval(data);
                alert(s);
                showevents(s);
            });
            function showevents(events) {
                $("#datepicker").datepicker({
                beforeShowDay: function (date) {
                    var result = [true, '', null];
                    var matching = $.grep(events, function (event) {
                        return event.Date.valueOf() === date.valueOf();
                    });
                    if (matching.length) {
                        result = [true, 'highlight', event.Title];
                    }
                    return result;
                },
                onSelect: function (dateText) {
                    var date, selectedDate = new Date(dateText), i = 0, event = null;
                    while (i < events.length && !event) {
                        date = events[i].Date;
                        if (selectedDate.valueOf() === date.valueOf()) {
                            event = events[i];
                        }
                        i++;
                    }
                    if (event) {
                        //return [true, "Highlighted", event.Title];
                        alert(event.Title);
                    }
                }
            });
        }
    });

</script>

 

<div id="datepicker">

 

[16:35:16.336] ReferenceError: event is not defined @ http://code.jquery.com/jquery-1.8.3.js:579
4

1 回答 1

0

您可能var event;在功能开始时丢失了showevents。看评论:

beforeShowDay: function (date) {
    var result = [true, '', null];
    var matching = $.grep(events, function (event) {
        return event.Date.valueOf() === date.valueOf();
    });
    if (matching.length) {
        // event is not defined
        result = [true, 'highlight', event.Title];
    }
    return result;
},

onSelect: function (dateText) {
    var date, selectedDate = new Date(dateText), i = 0, event = null;
    while (i < events.length && !event) {
        date = events[i].Date;
        if (selectedDate.valueOf() === date.valueOf()) {
            // event is not defined
            event = events[i];
        }
        i++;
    }
    if (event) {
        //return [true, "Highlighted", event.Title];
        // event is not defined
        alert(event.Title);
    }
}
于 2013-03-18T12:11:05.730 回答