我想在fullcalendar标题部分显示一些文本以及旁边的图像。
我有一个完整的日历,根据日期在下面的列中显示名称作为标题和相关数据。我想显示名称以及旁边的图片。我尝试附加html元素用于测试目的,但没有得到预期的结果。
这是为标题赋值的部分
$.map(SomeJSON, function (resourceitem, i) {
var resource = new Object();
resource.id = resourceitem.UserID.toString();
resource.title = resourceitem.UserName;
if (resourceitem.UserID == scheduleitem.AssignedStaff) {
$('div[id*=calendarAgendaSchedule]').fullCalendar('addResource',
resource, scroll);
}
});
This is the output before appending additional html element to title.
我尝试在标题中附加html标签。
$.map(SomeJSON, function (resourceitem, i) {
var resource = new Object();
resource.id = resourceitem.UserID.toString();
resource.title = resourceitem.UserName+'<div class="text-accent">test</div> ';
if (resourceitem.UserID == scheduleitem.AssignedStaff) {
$('div[id*=calendarAgendaSchedule]').fullCalendar('addResource',
resource, scroll);
}
});
This is the output after appending additional html element to title.
你需要resourceRender。试试下面的代码。它是一个工作代码,用于在每个资源的左侧显示图像,但您可以调整一些css来实现您的期望。
resourceRender: function(res){
let imageStyles= "background:url('../assets/media/users/100_4.jpg') left center no-repeat;\
border-radius:50%;\
width: 30px;\
height: 30px;\
background-size: 35px;\
margin-right:10px;\
display: inline-block;"
let elStyles = "display: flex;\
justify-content: center;\
align-items: center;"
res.el.innerHTML = '<div style="'+elStyles+'">\
<div style="'+imageStyles+'">\
</div><div>'+res.resource.title+'</div>\
</div>';
}
你将不得不使用resourceRender函数来修改元素。
resourceRender: function(resourceObj,labelTds, bodyTds) {
labelTds.append('<img src="<your img url>">'); //using jquery to append the image tag to the element
},
附: resourceObj将保存您的所有资源信息。您可以为保存图像URL的资源对象添加新值,然后在teh resourceRender函数中使用它。