jquery完整日历水平拖动并选择多天

时间:2014-09-23 06:26:25

标签: jquery

我尝试在jquery完整日历中实现水平拖动选择,但没有取得成功。 可以进行日间垂直选择,但单次拖动中的一天选择不起作用。 伙计们,如果你有任何解决方案,请建议。

以下是我的完整日历代码:

$.createFullCalendarWithCurrentTime = function (selectCallback, eventsCallback,   
mouseOverCallback, options, eventRenderCallback, curTime) {

        calendar = $('#calendar').fullCalendar({
            unselectAuto: false,
            header: { left: 'prev', center: 'title', right: 'next' },
            titleFormat: { week: "MMMM dd{ - dd, yyyy}" }, // Sep 7 - 13 2009 ,
            defaultView: "agendaWeek",
            // columnFormat: { month: 'ddd', week: 'ddd d/M', day: 'dddd d/M' },
            columnFormat: { week: 'ddd d'},
            eventBackgroundColor: options && options["eventBackgroundColor"] ?  
            options["eventBackgroundColor"] : "#FFEB00",
            eventBorderColor: "#FFEB00",
            eventTextColor: options && options["eventTextColor"] ? options["eventTextColor"] : 
            "#333333",
            axisFormat: 'h(:mm) tt',
            aspectRatio: 0.1,
            buttonText: { prev: '', next: '' },
            selectable: (selectCallback != null && $.isFunction(selectCallback) ? true : false),
            selectHelper: true,
            editable: false,
            allDaySlot: false,
            slotMinutes: slotMinute,
            minTime: minTimeNew,
            maxTime: maxTimeNew,
            firstDay: 1,
            eventMouseover: mouseOverCallback,
            viewDisplay: function () {
                // Create slots table only if not created 
            },
            select: selectCallback,
            events: eventsCallback,
            eventRender: eventRenderCallback
        }); 
        return calendar;
    };
      function slotBind(cells) {
            cells.click(slotClick)
            .mousedown(slotSelectionMousedown);
        }

     function slotSelectionMousedown(ev) {
            if (ev.which == 1 && opt('selectable')) { // ev.which==1 means left mouse button
                unselect(ev);
                var dates;
                hoverListener.start(function (cell, origCell) {
                    clearSelection();
                    if (cell && cell.col == origCell.col && !cellIsAllDay(cell)) {
                        var d1 = cellDate(origCell);
                        var d2 = cellDate(cell);
                        dates = [
                        d1,
                        addMinutes(cloneDate(d1), snapMinutes), // calculate minutes depending on
                        selection slot minutes 
                        d2,
                        addMinutes(cloneDate(d2), snapMinutes)
                    ].sort(cmp);
                        renderSlotSelection(dates[0], dates[3]);
                    } else {
                        dates = null;
                    }
                }, ev);
                $(document).one('mouseup', function (ev) {
                    hoverListener.stop();
                    if (dates) {
                        if (+dates[0] == +dates[1]) {
                            reportDayClick(dates[0], false, ev);
                        }
                        reportSelection(dates[0], dates[3], false, ev);
                    }
                });
            }
        }

0 个答案:

没有答案
相关问题