Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery FullCalendar,在输出中显示周数和天数名称_Javascript_Jquery_Fullcalendar - Fatal编程技术网

Javascript Jquery FullCalendar,在输出中显示周数和天数名称

Javascript Jquery FullCalendar,在输出中显示周数和天数名称,javascript,jquery,fullcalendar,Javascript,Jquery,Fullcalendar,我有一个Jquery日历。我能够从json中获得值的行和列的总值。我想将周数添加到行输出中,将日名称添加到列输出中 例如:-这是我的行输出值950 500 550 200,这是我的列输出值700 300 200 250 为了到现在为止的工作 我希望生成如下输出:- 对于行值(W44)950,(W45)500,(W46)550,(W47)200总计:(2200)和列值类似的值(星期一)700(星期二)300(星期二)300(星期三)200(星期四)250(星期五)200(星期六)250 完整代码:

我有一个Jquery日历。我能够从json中获得值的行和列的总值。我想将周数添加到行输出中,将日名称添加到列输出中

例如:-这是我的行输出值950 500 550 200,这是我的列输出值700 300 200 250

为了到现在为止的工作

我希望生成如下输出:-

对于行值(W44)950,(W45)500,(W46)550,(W47)200总计:(2200)和列值类似的值(星期一)700(星期二)300(星期二)300(星期三)200(星期四)250(星期五)200(星期六)250

完整代码:-

var baseEvent;

var $calendar = $('#calendar').fullCalendar({
 weekNumbers: true,
header: {
    left: 'prev,next today',
    center: 'title',
    right: 'month,agendaWeek,agendaDay'
},
editable: true,
selectable: true,
selectHelper: true,
eventRender: eventRenderCallback,
viewRender: viewRenderCallback,
eventAfterAllRender: eventAfterAllRenderCallback,
defaultView: 'month',
events: [
    {"title":"500","start":"Oct 1 2015"},   
    {"title":"50","start":"Oct 2 2015"},
    {"title":"500","start":"Oct 3 2015"},   
    {"title":"50","start":"Oct 4 2015"},
    {"title":"500","start":"Oct 6 2015"},   
    {"title":"50","start":"Oct 7 2015"},
    {"title":"500","start":"Oct 8 2015"},   
    {"title":"50","start":"Oct 9 2015"},
    {"title":"500","start":"Oct 10 2015"},   
    {"title":"50","start":"Oct 11 2015"},
    {"title":"500","start":"Oct 12 2015"},   
    {"title":"50","start":"Oct 13 2015"},
    {"title":"500","start":"Oct 14 2015"},   
    {"title":"50","start":"Oct 15 2015"},
    {"title":"500","start":"Oct 16 2015"},   
    {"title":"50","start":"Oct 17 2015"},
    {"title":"500","start":"Nov 1 2015"},   
    {"title":"50","start":"Nov 2 2015"},
    {"title":"100","start":"Nov 3 2015"},   
    {"title":"50","start":"Nov 4 2015"},
    {"title":"100","start":"Nov 5 2015"},   
    {"title":"50","start":"Nov 6 2015"},
    {"title":"100","start":"Nov 7 2015"},   
    {"title":"50","start":"Nov 8 2015"},
    {"title":"100","start":"Nov 9 2015"},   
    {"title":"50","start":"Nov 10 2015"},
    {"title":"100","start":"Nov 11 2015"},   
    {"title":"50","start":"Nov 12 2015"},
    {"title":"100","start":"Nov 13 2015"},   
    {"title":"50","start":"Nov 14 2015"},
    {"title":"100","start":"Nov 15 2015"},   
    {"title":"50","start":"Nov 16 2015"},
    {"title":"100","start":"Nov 17 2015"},   
    {"title":"50","start":"Nov 18 2015"},
    {"title":"100","start":"Nov 19 2015"},   
    {"title":"50","start":"Nov 20 2015"},
    {"title":"100","start":"Nov 21 2015"},   
    {"title":"50","start":"Nov 22 2015"},
    {"title":"100","start":"Nov 23 2015"},   
    {"title":"50","start":"Nov 24 2015"},

    {"title":"500","start":"Dec 1 2015"},   
    {"title":"50","start":"Dec 2 2015"}

]
});

var rowTotals = [];
var columnTotals = [];
var offset = 0;

function eventRenderCallback(event,element){
var viewDateMonth = $('#calendar').fullCalendar('getDate').getMonth();
if(event.start.getMonth() == viewDateMonth){
    addToDateArray(event.start.getDate(), parseInt(event.title));
}
}

function eventAfterAllRenderCallback(view){
var total = 0;
for (var i = 0; i < 6; i++){
    total += rowTotals[i];
    var label = $("#rows label:nth-child(" + (i+1) + ")");
    label.html(rowTotals[i]);     
}

for (var i = 0; i < 7; i++){
    var label = $("#cols label:nth-child(" + (i+1) + ")");
    label.html(columnTotals[i]);     
}

$("#total").html("("+total+")");
}

function viewRenderCallback(view,element){
offset = $("tr.fc-week.fc-first td.fc-other-month").length;
rowTotals = [0,0,0,0,0,0];
columnTotals = [0,0,0,0,0,0,0];

if(view.name == "agendaDay"){
    $("#rows label").show();
    $("#cols label").hide();
    $("#cols label:nth-child(" + (view.start.getDay()+1) + ")").show();
}else if(view.name == "agendaWeek"){
    $("#cols label").show();
    $("#rows label").hide();
    var row = Math.floor((view.start.getDate() + offset - 1) / 7);
    $("#rows label:nth-child(" + (row+1) + ")").show();
}else {
    $("#cols label").show();
    $("#rows label").show();
}
}                   

function addToDateArray(date,num){
var pos = date + offset;
var row = Math.floor((pos - 1) / 7);
var col = (pos - 1) % 7

rowTotals[row] += num;
columnTotals[col] += num;
}
var-baseEvent;
var$calendar=$(“#calendar”).fullCalendar({
周数:对,
标题:{
左:“上一个,下一个今天”,
中心:'标题',
右图:“月,agendaWeek,agendaDay”
},
是的,
是的,
selectHelper:对,
eventRender:eventRenderCallback,
viewRender:viewRenderCallback,
eventAfterAllRender:eventAfterAllRenderCallback,
defaultView:'月份',
活动:[
{“标题”:“500”,“开始”:“2015年10月1日”},
{“标题”:“50”,“开始”:“2015年10月2日”},
{“标题”:“500”,“开始”:“2015年10月3日”},
{“标题”:“50”,“开始”:“2015年10月4日”},
{“标题”:“500”,“开始”:“2015年10月6日”},
{“标题”:“50”,“开始”:“2015年10月7日”},
{“标题”:“500”,“开始”:“2015年10月8日”},
{“标题”:“50”,“开始”:“2015年10月9日”},
{“标题”:“500”,“开始”:“2015年10月10日”},
{“标题”:“50”,“开始”:“2015年10月11日”},
{“标题”:“500”,“开始”:“2015年10月12日”},
{“标题”:“50”,“开始”:“2015年10月13日”},
{“标题”:“500”,“开始”:“2015年10月14日”},
{“标题”:“50”,“开始”:“2015年10月15日”},
{“标题”:“500”,“开始”:“2015年10月16日”},
{“标题”:“50”,“开始”:“2015年10月17日”},
{“标题”:“500”,“开始”:“2015年11月1日”},
{“标题”:“50”,“开始”:“2015年11月2日”},
{“标题”:“100”,“开始”:“2015年11月3日”},
{“标题”:“50”,“开始”:“2015年11月4日”},
{“标题”:“100”,“开始”:“2015年11月5日”},
{“标题”:“50”,“开始”:“2015年11月6日”},
{“标题”:“100”,“开始”:“2015年11月7日”},
{“标题”:“50”,“开始”:“2015年11月8日”},
{“标题”:“100”,“开始”:“2015年11月9日”},
{“标题”:“50”,“开始”:“2015年11月10日”},
{“标题”:“100”,“开始”:“2015年11月11日”},
{“标题”:“50”,“开始”:“2015年11月12日”},
{“标题”:“100”,“开始”:“2015年11月13日”},
{“标题”:“50”,“开始”:“2015年11月14日”},
{“标题”:“100”,“开始”:“2015年11月15日”},
{“标题”:“50”,“开始”:“2015年11月16日”},
{“标题”:“100”,“开始”:“2015年11月17日”},
{“标题”:“50”,“开始”:“2015年11月18日”},
{“标题”:“100”,“开始”:“2015年11月19日”},
{“标题”:“50”,“开始”:“2015年11月20日”},
{“标题”:“100”,“开始”:“2015年11月21日”},
{“标题”:“50”,“开始”:“2015年11月22日”},
{“标题”:“100”,“开始”:“2015年11月23日”},
{“标题”:“50”,“开始”:“2015年11月24日”},
{“标题”:“500”,“开始”:“2015年12月1日”},
{“标题”:“50”,“开始”:“2015年12月2日”}
]
});
var rowTotals=[];
var columnTotals=[];
var偏移=0;
函数eventRenderCallback(事件,元素){
var viewDateMonth=$('#calendar').fullCalendar('getDate').getMonth();
if(event.start.getMonth()==viewDateMonth){
addToDateArray(event.start.getDate(),parseInt(event.title));
}
}
函数eventAfterAllRenderCallback(视图){
var合计=0;
对于(变量i=0;i<6;i++){
总计+=行总计[i];
变量标签=$(“#行标签:第n个子项(“+(i+1)+”);
html(rowTotals[i]);
}
对于(变量i=0;i<7;i++){
变量标签=$(“#cols标签:第n个子项(“+(i+1)+”);
html(columnTotals[i]);
}
$(“#总计”).html(“+total+”);
}
函数viewRenderCallback(视图,元素){
偏移量=$(“tr.fc-week.fc-first td.fc其他月份”)。长度;
行总数=[0,0,0,0,0,0];
columnTotals=[0,0,0,0,0,0];
如果(view.name==“agendaDay”){
$(“#行标签”).show();
$(“#cols标签”).hide();
$(“#cols标签:第n个子项(“+(view.start.getDay()+1)+”).show();
}else if(view.name==“agendaWeek”){
$(“#cols标签”).show();
$(“#行标签”).hide();
var row=Math.floor((view.start.getDate()+偏移量-1)/7);
$(“#行标签:第n个子项(“+(行+1)+”)).show();
}否则{
$(“#cols标签”).show();
$(“#行标签”).show();
}
}                   
函数addToDateArray(日期,num){
var pos=日期+偏移量;
变量行=数学楼层((位置-1)/7);
变量列=(位置-1)%7
行总数[行]+=num;
columnTotals[col]+=num;
}

请编辑小提琴的任何解决方案。谢谢

由于您在fullcalendar中使用WeekNumber选项,因此它会为您计算周数。分数可以使用$(“.fc week number div”)从dom中检索它们。您可以使用一个简单的日名称索引数组来获取一天

函数eventAfterAllRenderCallback(视图){
var合计=0;
对于(变量i=0;i<6;i++){
总计+=行总计[i];
变量标签=$(“#行标签:第n个子项(“+(i+1)+”);
var week=$(“.fc week number div”).eq(i).html();
html(“(W“+(week)+”)和行总数[i]);
}
var dayNames=['Sun','Mon','Tue','Wed','Thur','Fri','Sat'];
对于(变量i=0;i<7;i++){
变量标签=$(“#cols标签:第n个子项(“+(i+1)+”);
html(“(“+dayNames[i]+”)+columnTotals[i]);
}
$(“#总计”).html(“+total+”);
}

很高兴这有帮助。快乐编码!
function eventAfterAllRenderCallback(view){
    var total = 0;
    for (var i = 0; i < 6; i++){
        total += rowTotals[i];
        var label = $("#rows label:nth-child(" + (i+1) + ")");
        var week = $(".fc-week-number div").eq(i).html();
        label.html("(W"+(week)+") " + rowTotals[i]);     
    }

    var dayNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thur', 'Fri', 'Sat'];
    for (var i = 0; i < 7; i++){
        var label = $("#cols label:nth-child(" + (i+1) + ")");
        label.html("(" + dayNames[i] + ") " + columnTotals[i]);     
    }

    $("#total").html("("+total+")");
}