Fullcalendar仅将图像添加到资源的1列

Fullcalendar仅将图像添加到资源的1列,fullcalendar,fullcalendar-scheduler,Fullcalendar,Fullcalendar Scheduler,Fullcalendar很棒,我可以使用resourceRender回调将图像添加到resourceObject。 我正在使用基于资源分组演示的日历。 但问题是我只想将图像添加到第3列-占用,而不是前2列 当我添加以下代码时,它会将图像附加到所有列,而不仅仅是占用列 resourceRender: function(resourceObj, labelTds, bodyTds) { labelTds.append( '<div style="text-align:cent

Fullcalendar很棒,我可以使用resourceRender回调将图像添加到resourceObject。 我正在使用基于资源分组演示的日历。

但问题是我只想将图像添加到第3列-占用,而不是前2列

当我添加以下代码时,它会将图像附加到所有列,而不仅仅是占用列

resourceRender: function(resourceObj, labelTds, bodyTds) {
   labelTds.append(
     '<div style="text-align:center">' + 
     '<img src="../../images/icon.png" width="30" height="30">' +                    
     '</div>'
    };
},
resourceRender:函数(resourceObj、labelTds、bodyTds){
labelTds.append(
'' + 
'' +                    
''
};
},
有人能告诉我如何只对占用td元素执行此操作吗?

找到了它。 首先,正如John所建议的,向resourceObj添加额外的资源,这样您也可以选择要添加图像的行。 然后使用jQuery列表函数迭代labelTds数组,将图像添加到labelTds数组中所需的td元素中。 在本例中,最后一行占用是要用图像替换的td元素。 此外,您还可以在图像中添加“onclick”javascript以执行其他操作

下面是示例代码

resourceRender: function(resourceObj, labelTds, bodyTds) {
    if(resourceObj.roomtype != 'Manage' ) {
        var roomid = resourceObj.id;
        var roomno = resourceObj.roomno;
        var msg = 'Peform some action on '+roomno+' ?';
        if(resourceObj.roomstatus == 'C') {
            labelTds.last().empty();
            labelTds.last().append(
                '<div style="text-align:center">' +
                '<img src="../../images/image1.png" width="20" height="20" onclick="confirm(\''+msg+'\');">' +
                '</div>'
            );
        };
        if(resourceObj.roomstatus == 'L') {
            labelTds.last().empty();
            labelTds.last().append(
                '<div style="text-align:center">' +
                '<img src="../../images/image2.png" width="20" height="20">' +
                '</div>'
            );
        };
    };
},
resourceRender:函数(resourceObj、labelTds、bodyTds){
如果(resourceObj.roomtype!=“管理”){
var roomid=resourceObj.id;
var roomno=resourceObj.roomno;
var msg='Peform some action on'+roomno+'?';
如果(resourceObj.roomstatus=='C'){
labelTds.last().empty();
labelTds.last().append(
'' +
'' +
''
);
};
如果(resourceObj.roomstatus=='L'){
labelTds.last().empty();
labelTds.last().append(
'' +
'' +
''
);
};
};
},

如果您知道第三个资源的ID,您可以执行如下操作:
//如果ID恰好是3 if(resourceObj.ID==3){//do code to append the image here}
这仅在您的资源从未更改的情况下有效。如果您每天都有更改的资源,您可以在资源中添加一个名为type的自定义字段。然后执行类似操作:
if(resourceObj.type=='needsImage'){//append image here}
Hi,我尝试了这个方法,但它不起作用。resourceRender函数resourceObj的第一个参数对于资源的所有项都是相同的。当您查看labelTds对象时,有一个包含3个td元素的数组[]。当您对labelTds.append(…)使用calll时它将html附加到所有3个元素。我试图直接编辑数组偏移量,但没有任何效果。我想我正在寻找将html附加到labelTds的特定索引值的方法,但我不知道如何调用函数。嗯,看起来V4版本的呈现方式有所不同。请查看此处,谢谢,它不在文档中文档只让我通过append添加额外的html。但是,没有关于修改单个元素的文档,而且我似乎找不到任何labeltd对象函数的文档。找到了它。只需使用jQuery函数遍历列表,然后调用append。在这种情况下,占用率是last element.labelTds.last().empty();//清除元素labelTds.last().append(//追加我的图像html)。