zoukankan      html  css  js  c++  java
  • fullcalendar使用配置方法 做日历日程表 动态绑定数据

    最近工作,需要做一个日历来排公司日程。用到了fullcalender这个插件。虽然功能很强大,无奈例子太少走了许多弯路。所以在这里把这个插件的配置方式贴出来,给要用它做日程管理的同学一些帮助。

    以下是这个插件的配置,这个插件的js文件网上有。demo也能找到但是功能不全,可以参照一下我的配置。

    $('#calendar').fullCalendar({
    header: {
    left: 'prev,next today',
    center: 'title',
    right: 'month,agendaWeek,agendaDay'
    },
    firstDay: 1,
    editable: true,
    timeFormat: 'H:mm',
    axisFormat: 'H:mm',
    theme: false,
    
    //这个事件是  点击插件里面的单条数据时触发
    eventClick: function (calEvent, jsEvent, view) {
    
    //调用弹窗  这里的 calEvent.id是你给插件绑定id时候的数据
    modalOpen({
    id: "Form",
    title: "修改",
    url: "/PlanModule/PZKArrangeShift/Form?id=" + calEvent.id,
     "700px",
    height: "510px",
    });
    
    
    },
    
    //这个事件是 当你点击日期单元格时触发
    dayClick: function (date, allDay, jsEvent, view) {
    
    //这个能帮助你获取当前得到的   点击日期
    var selDate = $.fullCalendar.formatDate(date, 'yyyy-MM-dd');
    
    sessionStorage["shiftName"] = ShiftNames;
    $.modalOpen({
    id: "Form",
    title: "新增",
    url: "/PlanModule/PZKArrangeShift/Form?date=" + selDate,
     "700px",
    height: "510px",
    callBack: function (iframeId) {
    top.frames[iframeId].submitForm();
    }
    });
    },
    
    //这个事件  是当你点击页面的  上一页  下一页  月 周  日 时触发       这里是当月份发生变化时  加载一个月的数据
    viewDisplay: function (view) {
    //初次进入
    if (f == 0) {
    var date = new Date;
    year = date.getFullYear();
    month = date.getMonth() + 1;
    yy = year;
    mm = month;
    f = 1;
    }
    //其他 点击页面上的其他操作判断 日期是否与当月不同 不同则重新加载数据
    else {
    var name = document.getElementsByTagName("h2");
    var yy0 = name[1].innerHTML.substring(0, 4);
    var mm0 = name[1].innerHTML.substring(5, 7); 
    if (parseInt(year) != parseInt(yy0) || parseInt(month) != parseInt(mm0)) {
    year = parseInt(yy0);
    month = parseInt(mm0);
    yy = parseInt(yy0);
    mm = parseInt(mm0);
    }
    }
    
    // ajax获取   当前月份数据
    $.ajax({
    url: "/PlanModule/PZKArrangeShift/LoadCalender",
    data: { key: ShiftNames, Date: yy + "-" + mm },
    dataType: "json",
    type: "post",
    async: false,
    success: function (data) {
    var res = eval(data);
    events = [];
    $.each(res, function (i, d) {
    var t = d.DATE.substring(0, 10);
    var start = t + " " + d.STARTTIME;
    var end = t + " " + d.ENDTIME;
    events.push({
    id: d.ARRANGEID,
    title: d.ITEM,
    start: start,
    end: end,
    allDay: false
    });
    });
    
    //清除原来加载进去的数据       不然会出现很多重复加载的数据
    $("#calendar").fullCalendar('removeEvents');
    
    //添加json对象
    $.each(events, function (index, term) {
    $("#calendar").fullCalendar('renderEvent', term, true);
    });
    
    }
    });
    },
    });
    
     
  • 相关阅读:
    【Office】Word排版
    小猪的压力
    SQL SERVER 自定义函数参数数量对调用时参数数量的影响
    工作效率
    C#使用SharpZipLib编辑zip包中内容
    SQL SERVER——自定义函数
    C#字符串编码
    在ASP.NET中启动SQL SERVER缓存
    C#延迟加载
    C#格式化DateTime时间
  • 原文地址:https://www.cnblogs.com/FollowWinds/p/7615469.html
Copyright © 2011-2022 走看看