javascript - 如何更改 fullcalendar jquery 中的参数名称 "title"、 "start"和 "end"

标签 javascript jquery json fullcalendar fullcalendar-3

在 jquery 的 fullcalendar 脚本中,我想通过数据库表中的列名称更改关键字“title”、“start”和“end”。

当我在数据库表中更改列名称时,fullcalendar 会起作用:

我将“name”更改为“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> ```

最佳答案

您无法更改 fullCalendar expects作为事件中重要字段的默认属性名称(好吧,如果您修改了 fullCalendar 源代码,则可以,但您不想这样做)。

但是,如果由于某种原因您不想更改服务器/数据库代码以匹配(但为什么不呢?确切地说?),您可以通过 eventDataTransform 在两者之间创建一个简单的映射。 fullCalendar 中的回调。此函数针对加载到 fullCalendar 中的每个事件运行一次,并允许您在 fullCalendar 开始处理事件对象之前更新事件对象的属性。在这里,您可以将数据从服务器生成的属性名称复制到 fullCalendar 识别的属性名称。

这是一个例子:

eventDataTransform: function(event) {
  event.title = event.name;
  event.start = event.date_start;
  event.end = event.date_end;
  return event;
}

关于javascript - 如何更改 fullcalendar jquery 中的参数名称 "title"、 "start"和 "end",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59138216/

相关文章:

javascript - 类型错误 : Cannot read property 'push' of undefined D3?

javascript - JQuery "onchange"事件仅在基于标签文本的一组中的多个复选框中发生

javascript - 每条消息更改聊天框中 div 的背景颜色

javascript - 在Django中,如何使选择下拉选项自动提交表单?

javascript - .map() 仅返回数组中的最后一个对象

ajax - 在 jQuery 中将 processData 设置为 false 会破坏我的 AJAX 请求

javascript - Knex MySQL迁移 "Unhandled rejection Error: Transaction query already complete"

javascript - 内联编辑,旁边有图标

Javascript 计算未返回正确的金额?

javascript - iCanHaz.js + Mustache 不呈现数据对象中的第一行