在jquery的fullcalendar脚本中,我想通过数据库表中的列名来更改关键字“ title”,“ start”和“ end”。
当我在数据库表中更改列名时的全日历工作:
我将“名称”更改为“ title”,将“ date_start”更改为“ start”,将“ date_end”更改为“ end”,好的,但是我想做相反的事情。
$(document).ready(function() {
var calendar = $('#calendar').fullCalendar({
editable: false,
events: "{{ route('products') }}",
displayEventTime: false,
eventRender: function(event, element, view) {
if (event.allDay === 'true') {
event.allDay = true;
} else {
event.allDay = false;
}
},
eventClick: function(event) {
$.getJSON("{{ route('products') }}", function(user) {
var convertToTableau = Array.from(Object.values(user));
console.log(convertToTableau);
var us = $.grep(convertToTableau, function(v) {
return v.id == event.id;
console.log(event.id);
});
$("#firstname").text(us[0].title);
$("#idpilote").text(" Id : " + us[0].id);
$("#firstname").text(" Name : " + us[0].title);
$("#metier").text(" Job : " + us[0].profession);
});
}
});
});
</script> ```
答案 0 :(得分:1)
您不能将fullCalendar expects更改为事件中重要字段的默认属性名称(当然,如果您修改了fullCalendar源代码,则可以,但是您不想这样做) )。
但是,如果由于某些原因您不想更改服务器/数据库代码以匹配(但是为什么不完全匹配?),则可以通过以下方式在eventDataTransform回调中在两者之间创建简单的映射全日历。该函数针对加载到fullCalendar中的每个事件运行一次,并允许您在fullCalendar开始处理事件之前更新事件对象的属性。在这里,您可以将服务器生成的属性名称中的数据复制到fullCalendar可以识别的属性名称中。
这是一个例子:
eventDataTransform: function(event) {
event.title = event.name;
event.start = event.date_start;
event.end = event.date_end;
return event;
}