fullcalendar 使用总结

FullCalendar提供了丰富的属性设置和方法调用,开发者可以根据FullCalendar提供的API快速完成一个日历日程的开发,文档链接

以下是结合项目和自己的使用情况总结经验:

1.任务目标是实现旅游产品的日历库存管理,通过FullCalendar勾选某天设置库存,可批量操作

2.具体实现

a. 主要引用

<script src="/js/moment.min.js"></script><script src="/js/fullcalendar.min.js"></script><script src="/js/zh-cn.js"></script>

b.在页面上放置

<div class="form-group col-sm-12">    <div id="calendar"></div></div>

我们框架主要使用的是bootstrap,用的是它的栅格布局方式

c.初始化日历,并绑定事件和初始化数据

$(‘#calendar‘).fullCalendar({
    header: {
        right: ‘prev,next,today‘,
        left: ‘title‘
    },
    firstDay:1,
    weekends:true,
    weekMode:"liquid",
    selectable:true,
    unselectAuto:false,
    dayClick: function(date, jsEvent, view) {
        if(!($("#sell"+date.format("YYYY-MM-DD")).length>0)&&true){
            var me=$(this);
            var day = moment(me.data("date"));
            if(day.diff(today, ‘days‘) <0){
                return;
            }
            if(me.children("img ").length>0){
                me.children("input[name=‘selectname‘]").remove();
                me.children("img").remove();
            }else{
                me.append(‘<img src="/pic/selected.png" class="clickCss pull-left">‘ +
                ‘<input type="hidden" name="selectname" value="‘+date.format("YYYY-MM-DD")+‘">‘);
            }
        }

    },
eventAfterAllRender:function(){
        var jsondata;
        $.ajax({
            cache: true,
            type: "POST",
            url:"/stock/getSelectDate",
            data:{"id":$("#skuid").val()},
            async: false,
            error: function(request) {
                console.error("数据读取失败");
            },
            success: function(data) {
                jsondata = data;
            }
        });
        $(".fc-day-number").each(function(){
            var me=$(this);
            if(jsondata.responseText!=""){
                jsonobj = eval(jsondata);
                var day = moment(me.data("date")).format("YYYY-MM-DD");
                $(jsonobj).each(function(){
                    if(day==this.selldate){
                        me.not(".fc-other-month").
                        append("<p class=‘huge‘>"+this.price+"元</p>");
                        me.not(".fc-other-month").
                        append("<p class=‘huge‘>成人价"+this.price+"元</p>");
                        me.not(".fc-other-month").
                        append("<p class=‘huge‘>儿童价"+this.chd_price+"元</p>");
                        me.not(".fc-other-month").
                        append("<p class=‘text-success‘>余位:"+this.num+"</p>");
                        me.not(".fc-other-month").
                        prop("id","sell"+me.data("date"));
                        var selldate = this.selldate;
                        var formtoday = today.format("YYYY-MM-DD");
                        if(formtoday == selldate){
                            $(".fc-day.fc-widget-content.fc-today" +
                                    ".fc-state-highlight[data-date="+selldate+"]")
                                    .append(‘<img src="/pic/selected.png" class="clickCss pull-left">‘);
                        }
                        $(".fc-bg .fc-day.fc-widget-content.fc-future")
                                .not(".fc-other-month")
                                .each(function(){
                            var $me=$(this);
                            if($me.attr("data-date")==selldate){
                                $me.append(‘<img src="/pic/selected.png" class="clickCss pull-left">‘);
                            }
                        });
                    }
                });
            }
        });
    }
});

主要是两个事件:

dayClick:每次在点击日期时触发的事件,在里面绑定自己的逻辑

eventAfterAllRender:当日历控件初始完后初始化后触发,可在里面初始化自己的数据和参数

注意点:

时间: 2024-11-05 23:21:11

fullcalendar 使用总结的相关文章

Web日程管理FullCalendar

fullcalendar是一款jQuery日程管理控件,提供了丰富的属性设置和方法调用,官网下载地址http://fullcalendar.io/download,目前最新版本是2.3.2. 只要调用$('#calendar').fullcalendar(options)即可初始化,初始化配置中events.eventSources.select和eventClick是必须设置项. events和eventSources是数据源配置项,存储数组对象,可以是Arrays/Functions/URL

fullcalendar日历控件知识点集合

1.基本的语法: 首先,fullcalendar和JQUERY一样,以面向对象的方式来组织代码.当然,这里的面向对象不过指能够把整个fullcalendar理解为一个类,这个类里包含有非常多的属性.方法.托付(函数回调)作为成员变量.通过为这些成员变量赋值,就可以实例化出一个符合自己需求的fullcalendar实例出来,即终于在浏览器里渲染出的日历.换句话说,我们所做的绝大多数工作就是依照fullcalendar的语法约定去配置出一个符合我们需求的fullcalendar实例.除非对于极少的特

js非常强大的日历控件fullcalendar.js, 日期时间库: moment.js

日历控件: https://fullcalendar.io/docs/ https://fullcalendar.io/docs/event_data/events_function/ https://fullcalendar.io/docs/event_data/Event_Object/ https://fullcalendar.io/docs/mouse/eventClick/ <!DOCTYPE html> <html> <head> <meta char

FullCalendar应用——整合农历节气和节日

FullCalendar用来做日程管理功能非常强大,但是唯一不足的地方是没有将中国农历历法加进去,今天我将结合实例和大家分享如何将中国农历中的节气和节日整合到FullCalendar中,从而增强其实用性. HTML 首先是要载入jQuery库和fullcalendar插件. <script src='js/jquery-1.9.1.min.js'></script> <script src='js/fullcalendar.min.js'></script>

FullCalendar如何实现minTime,slotDuration动态更新

最近在使用jQuery插件FullCalendar实现一个患者预约医生看病的功能,大致需求如下: 1.  医生首先以周为单位设置自己下个月的出诊时间,包括上班时间,下班时间,每次可预约的时间间隔 2.  患者通过在线预约系统,选择医生的出诊时间并预约 3.  医生可查看自己的预约安排,了解病人的预约情况,使用FullCalendar插件实现效果如下图: 那么现在问题来了,如果医生不同的周或不同月上下班的时间不一样,我们跳转到别的周后,左边的时间轴是否也要跟着改变,遗憾的是FullCalendar

FullCalendar 日历插件中文说明文档

FullCalendar提供了丰富的属性设置和方法调用,开发者可以根据FullCalendar提供的API快速完成一个日历日程的开发,本文将FullCalendar的常用属性和方法.回调函数等整理成中文文档,以供参阅 普通显示设置 属性 描述 默认值 header 设置日历头部信息.如果设置为false,则不显示头部信息.包括left,center,right左中右三个位置,每个位置都可以对应以下不同的配置:title: 显示当前月份/周/日信息prev: 用于切换到上一月/周/日视图的按钮ne

FullCalendar应用——读取JSON数据

开发者可以使用FullCalendar创建强大的日历日程应用,FullCalendar提供了丰富的选项设置和方法调用,使得开发者可以轻松的创建各种功能的日历程序.本文将结合实例使用PHP读取MySQl数据,显示在FullCalendar日历中. 查看演示DEMO 根据FullCalendar日历插件说明文档中的介绍,日历主体事件数据的来源有三,一是直接以javascript数组的形式显示日历事件,二是获取JSON数据形式显示日历事件,三是函数回调的形式显示日历数据,三种调用数据的方式各有所用之处

Fullcalendar 日历控件的基本使用

1:Fullcalendar 日历控件的基本简介 Fullcalendar是一款十分强大的开源日历免费控件,提供了丰富的属性设置和方法调用. 官网地址:https://fullcalendar.io/ 文档地址:https://fullcalendar.io/docs/   优点:1.设置时区 2.丰富的回调函数 3.支持拖拽 多选 4.支持触摸 5.列表视图 6.年.月.周.日的显示 7.前端展示可自定义 8.有完整的文档 2:基本使用方法 需要引用的外部支持文件---->>> 1 &

fullcalendar日历控件集合知识

1.基本的语法: 首先,fullcalendar和JQUERY一样,以面向对象的方式来组织代码.当然,这里的面向对象不过指能够把整个fullcalendar理解为一个类,这个类里包含有非常多的属性.方法.托付(函数回调)作为成员变量.通过为这些成员变量赋值,就可以实例化出一个符合自己需求的fullcalendar实例出来,即终于在浏览器里渲染出的日历.换句话说,我们所做的绝大多数工作就是依照fullcalendar的语法约定去配置出一个符合我们需求的fullcalendar实例.除非对于极少的特

FullCalendar日历插件

使用FullCalendar做个自己的日程管理(一)- 基础篇 使用FullCalendar做一个自己的日程管理(二)- 事件篇 使用FullCalendar做一个自己的日程管理(三)- 持久化篇