在MVC中使用jquery的完整日历

时间:2015-02-17 10:36:42

标签: fullcalendar

我想了解完整的日历..我不知道如何使用选择或颜色等方法。任何人都可以通过不同的颜色给我一个颜色的例子。点击一天的时候,一条消息应该要求我们添加一个事件。 我读过http://fullcalendar.io/docs/但无法理解。如何改变它。

 <link href="~/Content/calendar/fullcalendar.css" rel="stylesheet" />
    <link href="~/Content/calendar/fullcalendar.print.css" rel="stylesheet" media='print' />
    <link href="~/Content/jquery-ui.min.css" rel="stylesheet" />
    <style>
        body {
            margin: 40px 10px;
            padding: 15px;
            font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif;
            font-size: 14px;
        }

        #calendar {
            max-width: 900px;
            margin: 0 auto;
        }
    </style>

    <div id='calendar'></div>

@section scripts{

<script src="~/Scripts/calendar/moment.min.js"></script>
<script src="~/Scripts/calendar/jquery.min.js"></script>
<script src="~/Scripts/calendar/fullcalendar.min.js"></script>
<script src="~/Scripts/calendar/jquery-ui.custom.min.js"></script>
<script>

    $(document).ready(function () {
        $('#calendar').fullCalendar(Duration,'00:30:00');
        $('#calendar').fullCalendar({

            header: {

                left: 'prev,next today',
                center: 'title',
                right: 'month,agendaWeek,agendaDay'
                     },
            defaultDate: '2015-02-12',
                    selectable: true,
            selectHelper: true,

            select: function (start, end) {
                var title = prompt('Event Title:');
                var eventData;
                if (title) {
                    eventData = {
                        title: title,
                        start: start,
                        end: end
                    };
                    $('#calendar').fullCalendar('renderEvent', eventData, true); // stick? = true
                }
                $('#calendar').fullCalendar('unselect');
            },
            slotDuration:'00:00:15',
            editable: true,
            eventLimit: true, // allow "more" link when too many events
            events: [
                {
                    title: 'All Day Event',
                    start: '2015-02-01'
                },
                {
                    title: 'Long Event',
                    start: '2015-02-07',
                    end: '2015-02-10'
                },
                {
                    id: 999,
                    title: 'Repeating Event',
                    start: '2015-02-09T16:00:00'
                },
                {
                    id: 999,
                    title: 'Repeating Event',
                    start: '2015-02-16T16:00:00'
                },
                {
                    title: 'Conference',
                    start: '2015-02-11',
                    end: '2015-02-13'
                },
                {
                    title: 'Meeting',
                    start: '2015-02-12T10:30:00',
                    end: '2015-02-12T12:30:00'
                },
                {
                    title: 'Lunch',
                    start: '2015-02-12T12:00:00'
                },
                {
                    title: 'Meeting',
                    start: '2015-02-12T14:30:00'
                },
                {
                    title: 'Happy Hour',
                    start: '2015-02-12T17:30:00'
                },
                {
                    title: 'Dinner',
                    start: '2015-02-12T20:00:00'
                },
                {
                    title: 'Birthday Party',
                    start: '2015-02-13T07:00:00'
                },
                {
                    title: 'Click for Google',
                    url: 'http://google.com/',
                    start: '2015-02-28'
                }
            ]
        });

    });

</script>

}

1 个答案:

答案 0 :(得分:1)

以下代码用于为fullcalender中的不同事件提供颜色。

{
                title: 'All Day Event',
                start: '2015-02-01',
                backgroundColor: '#000'
            },
            {
                title: 'Long Event',
                start: '2015-02-07',
                end: '2015-02-10',
                backgroundColor: '#DDD'
            },
            {
                id: 999,
                title: 'Repeating Event',
                start: '2015-02-09T16:00:00',
                backgroundColor: '#CCC'
            },

为具有特定事件的颜色代码提供backgroundColor参数。

并使用以下代码,如果您想在单击事件标题时为新事件打开弹出窗口。

var calendar = $('#calendar').fullCalendar({
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,agendaWeek,agendaDay'
        },          
        defaultView: '<?php echo $view; ?>',
        selectable: true,
        selectHelper: true,
        select: function(start, end, allDay) {

            $.ajax({
                url:"<?php echo site_url("controller/function_name");?>/"+convert_date(start),
                cache:false,
                data:"event_name="+convert_date(start),
                success:function(data){
                    //alert(data);
                    if(data=="holiday" || data=="no"){
                        $( ".modalbox" ).on( "click", function() {

                        });

                        //$("#day_"+convert_date(start)).css("background-color","#f00");                                                                
                        $("#event_date").val(start);
                        summary();
                        summary_change($("#reminder").val());
                        //$("#date_of_end").val(convert_date_mdy(start));
                        //$("#summary_date").val(convert_date_mdy(start));
                    }
                    else{
                        $( ".modalbox" ).on( "click", function() {

                        });
                        $( ".modalbox" ).trigger( "click" );

                        $("#event_date").val(start);    
                        summary();
                        summary_change($("#reminder").val());
                        //$("#date_of_end").val(convert_date_mdy(start));
                        //$("#summary_date").val(convert_date_mdy(start));
                    }                       
                }
            });

            $("#addSchedule").submit(function(){

            title=$("#shift").val();

            if (title!="") {

                date=convert($("#event_date").val());
                end_date=convert(end);

                $("#event_date").val(date);
                $("#end_date").val(end_date);

                $("#allDay").val(allDay);

                calendar.fullCalendar('renderEvent',
                    {
                        title: title,
                        start:$("#event_date").val(),
                        end: end,
                        allDay: allDay
                    },              
                );
            }
            $("#holder").hide();
            //return false;
            });

            calendar.fullCalendar('unselect');

        },
        editable: true,

        events: <?php echo $result;?>,          
        eventClick: function(event) {

            $.ajax({
                url:"<?php echo site_url("controller/function_name");?>/"+event.event_id,
                cache:false,
                data:"event_name="+event.title,
                success:function(data){
                    $("#inline1").html(data);

                    $( ".modalbox1" ).on( "click", function() {
                    });
                    $( ".modalbox1" ).trigger( "click" );
                }
            });             
        },
    });
当您点击fullcalender上的特定事件时,

eventClick参数将处于行动状态。