全日历添加动态不工作

Full calender add dynamically not working

本文关键字:工作 动态 添加 日历      更新时间:2023-09-26

我尝试添加完整的日历。我第一次点击按钮,它增加了成功。在我使用jquery empty()方法清除ScheduleCalenderdiv之后。然后我重新运行完整的日历代码。但完整的日历母鹿没有出现。div中至少没有出现任何内容。这是我的代码。我的div选择器工作正常。我测试过了。

$('#addNewTimeScheduleEntry').click(function () {
    $('#scheduleCalendar').empty();
    var scheduleYear = $('.scheduleYear').val();
    var scheduleMonth = $('.scheduleMonth').val();
    $('#scheduleCalendar').fullCalendar({
        defaultDate: scheduleYear + '-' + scheduleMonth + '-01',
        header: {
            left: '',
            center: '',
            right: 'title'
        },
        eventRender: function (event, element) {
            element.qtip({
                content: event.description,
                style: {
                    classes: 'qtip-dark qtip-shadow'
                },
                position: {
                    my: 'top left', // Position my top left...
                    at: 'bottom right', // at the bottom right of...
                    target: $(element) // my target
                }
            });
        },
        height: $('.panel-body').height()-50
    });
});

这里有完整的日历链接

这是我的html

<div class="panel-body fixed-content">
    <div class="year-month-control">
    <select class="selectpicker scheduleYear">
    </select>
    <select class="selectpicker scheduleMonth">
    </select>
        <button type="button" id="addNewTimeScheduleEntry" class="btn btn-default" id="addnewScheduleEntry"><i class="fa fa-plus"></i>&nbsp;Add Entry</button>
        <button type="button" id="addNewTimeScheduleEntry" class="btn btn-default" id="saveScheduleEntry" ><i class="fa fa-upload"></i>&nbsp;Save Entry</button>
    </div>
    <br/>
    <div id='scheduleCalendar'></div>
</div>

即使清空div,它也能正常运行。唯一的区别是我已经将它放在了文档就绪事件中,但我认为这不会有任何区别。这里有两个jsfiddles;http://jsfiddle.net/2qs8tyg1/2/

$(document).ready(function() {
    $('#addNewTimeScheduleEntry').click(function () {
        $('#scheduleCalendar').empty();
        $('#scheduleCalendar').fullCalendar({});
        var scheduleYear = date.getFullYear();
        var scheduleMonth = date.getMonth();
        $('#scheduleCalendar').fullCalendar({
            defaultDate: scheduleYear + '-' + scheduleMonth + '-01',
            header: {
                left: '',
                center: '',
                right: 'title'
            },
            eventRender: function (event, element) {
                element.qtip({
                    content: event.description,
                    style: {
                        classes: 'qtip-dark qtip-shadow'
                    },
                    position: {
                        my: 'top left', // Position my top left...
                        at: 'bottom right', // at the bottom right of...
                        target: $(element) // my target
                    }
                });
            },
            height: $('.panel-body').height()-50
        });
    });
});

http://jsfiddle.net/justinobney/uaNgR/

jQuery(document).ready(function() {
        var date = new Date();
        var d = date.getDate();
        var m = date.getMonth();
        var y = date.getFullYear();
        $('#calendar').fullCalendar({
            header: {
                left: 'prev,next today',
                center: 'title',
                right: 'month,agendaWeek,agendaDay'
            },
            viewDisplay: function(view) {
                window.location.hash = "month=" + (view.start.getMonth() + 1) + "&year=" +view.start.getFullYear();
            },
            editable: true,
            events: [
                {
                    title: 'All Day Event',
                    start: new Date(y, m, 1)
                },
                {
                    title: 'Long Event',
                    start: new Date(y, m, d-5),
                    end: new Date(y, m, d-2)
                },
                {
                    id: 999,
                    title: 'Repeating Event',
                    start: new Date(y, m, d-3, 16, 0),
                    allDay: false
                },
                {
                    id: 999,
                    title: 'Repeating Event',
                    start: new Date(y, m, d+4, 16, 0),
                    allDay: false
                },
                {
                    title: 'Meeting',
                    start: new Date(y, m, d, 10, 30),
                    allDay: false
                },
                {
                    title: 'Lunch',
                    start: new Date(y, m, d, 12, 0),
                    end: new Date(y, m, d, 14, 0),
                    allDay: false
                },
                {
                    title: 'Birthday Party',
                    start: new Date(y, m, d+1, 19, 0),
                    end: new Date(y, m, d+1, 22, 30),
                    allDay: false
                },
                {
                    title: 'Click for Google',
                    start: new Date(y, m, 28),
                    end: new Date(y, m, 29),
                    url: 'http://google.com/'
                }
            ]
        });
    function setupRouting() {
        $.jsRouter.mapRoute('Month Change', 'month={month}&year={year}', MonthChanged);
    }
    function MonthChanged(args) {
        var vMonth = args.month;
        var vYear = args.year;
        console.log('event trapped:', args);
    }
        $.getScript('http://www.tasktrackr.com/js/routing.js',setupRouting);
    //jQuery.deparam.fragment()
    //$.getScript('https://raw.github.com/cowboy/jquery-bbq/master/jquery.ba-bbq.min.js')
    });