【问题标题】:Insert,Update,Delete Events Operations on Fullcalendar POPUP and show Events which is inserted在 Fullcalendar POPUP 上插入、更新、删除事件操作并显示插入的事件
【发布时间】:2013-03-26 06:00:34
【问题描述】:

你好朋友我需要制作一个 web 应用程序,我必须在两个人之间预约日程所以我使用 Fullcalendar 打开一个弹出窗口有一些字段,如描述、开始时间和结束时间。我想为每个事件设置与FUllcalendar Selectable Demo start:start(variable from mycode) end:end 我不知道我的方向是否正确所以请帮帮我 数据库上的事件自动更新的 IF 更改 我需要在日历中显示

更新代码:

JavaScript:

     $(document).ready(function() {
    var count=0;
    var liveDate=new Date();
    var dat = new Date();
    var d = dat.getDate();
    var m = dat.getMonth();
    var y = dat.getFullYear();
    $.getJSON("<?php echo base_url(); ?>names",function(data){
        var select = $('#AgentName'); //combo/select/dropdown list
        if (select.prop) {
            var options = select.prop('options');
        }
        else {
            var options = select.attr('options');
        }
        var calendar = $('#calendar').fullCalendar({

            header: {
                left: 'prev,next today',
                center: 'title',
                right: 'month,agendaWeek,agendaDay'
            },
            selectable: true,
            selectHelper: true,
            select: function(start, end, allDay) {
                $("#popup").show();
                $("#eventName").focus();
                $("#submit").click(function(){
                    var title=$("#eventName").val();
                    if (title) {
                        calendar.fullCalendar('renderEvent',{
                            title: title,
                            start: start,
                            end: end,
                            allDay: allDay
                        },
                        true // make the event "stick"
                    );
                        var dataString={};
                        dataString['eventName']=title;
                        dataString['startTime']=$.fullCalendar.formatDate(start, "yyyy-MM-dd H:mm:ss");
                        dataString['endTime']=$.fullCalendar.formatDate(end, "yyyy-MM-dd H:mm:ss");
                        $.ajax({
                            type : 'POST',
                            dataType : 'json',
                            url : '<?php echo base_url(); ?>data/insert',
                            data: dataString,
                            success: function(data) {
                                alert("Data Insert SuccessFully");
                                if(data.success)
                                    alert("Data Insert SuccessFully");
                            }
                        });
                    }
                    calendar.fullCalendar('unselect');
                    calendar.fullCalendar('refetchEvents');
                    $("#popup").hide();
                });
            },
            editable: true,
            viewDisplay: function(view) {
                if(view.name=="month" && count==0){
                    var a=$(".fc-day-number").prepend("<img src='/assets/images/add.jpg' width='20' height='20'style='margin-right:80px;' name='date'>");                                    
                    count++;
                }
            },
            eventSources: [
                {
                    url: '<?php echo base_url(); ?>data/read', // use the `url` property
                    color: '#65a9d7',    // an option!
                    textColor: '#3c3d3d'  // an option!
                }                    
            ]
        });
    });


CSS:

<style>
    body {
        text-align: left;
        font-size: 14px;
        font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif;
    }
    #calendar {
        width: 70%;
        margin: 0 auto;
        text-align:left;
    }
    #popup{
        width: 70%;
        height: auto;
        position: absolute;
        background-color: rgba(255,255,255,0.8);
        border-color: #0033ff;
        border-style: solid;
        display:block;
        left: 400px;
        top: 300px;
        display: none;
        cursor: pointer;
    }
    #detail{
        background-color: #000;
    }
    #popup input{
        width:480px;
        border-radius: 5px;
    } 
    #popup table label{
        font-size: 100px;
    }
    #startTime{
        background-image: url('/assets/images/calendar.png');
        background-position:right center;
        background-repeat:no-repeat;
    }
    #endTime{
        background-image: url('/assets/images/calendar.png');
        background-position:right center;
        background-repeat:no-repeat;
    }
</style>

HTML:

<div class="wrapper">
<div id='calendar'></div>
<div id="detail"></div>
<div id="popup"> 
    <form name="addData" id="addData" action="" method="post">
    <table>
        <tr>
            <td><lable for="eventName">Description:</lable></td>
            <td><input name="eventName" id="eventName"></td>
        </tr>
        <tr>
            <td><lable for="startTime">Start: </td>
            <td><input type="text" id="startTime"name="startTime"/></td>
        </tr>
        <tr>
            <td><lable for="endTime">End: </td>
            <td><input type="text" id="endTime"name="endTime"/></td>
        </tr>
        <tr>
            <td align="left"colspan="2">
                <button type="submit"class="k-button" name="submit" id="submit">Submit</button>
                <button type="reset" name="reset" class="k-button" id="reset">Reset</button>
                <button type="submit"class="k-button" name="cancel" id="cancel">Cancel</button>
            </td>
        </tr>
    </table>
    </form>
    <p><tt id="results"></tt></p>
</div>
</div>

【问题讨论】:

  • 使用link
  • 感谢您的回复,但你会告诉我,我想在点击任何日期时打开一个新的弹出表单,所以我必须在 dayClick 或 eventClick 中写,我必须在选择中定义获取数据链接或查看显示

标签: jquery fullcalendar anytime


【解决方案1】:

您可以在dayClick 事件中显示对话框:

dayClick: function(date, allDay, jsEvent, view) {
    $('#dialog').dialog('open');
}

然后格式化开始和结束日期并传递给您的表单

【讨论】:

  • 我当前的代码存储在数据库中,但它没有显示在我想要制作的日历中,例如“arshaw.com/js/fullcalendar-1.6.0/demos/selectable.html”,其中提示存储事件并显示来自数据库的事件以及更多我的弹出窗口表格在议程日,议程周视图中无法正常工作,所以如果你知道,请帮助我
  • 如果您想在日历上显示数据库中的事件,请查看文档arshaw.com/fullcalendar/docs/event_data/events_json_feed
  • 谢谢我明白了,现在我想用编辑模式打开一个弹出表单,我们可以在其中修改标题,如果我们想修改时间,那么这个弹出表单在 AgendaWeek 中不能正常工作和 AgendaDay 那么我该怎么办?如果您有知识,请与我分享 好的,非常感谢
猜你喜欢
  • 2011-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-01
  • 2013-04-05
相关资源
最近更新 更多