Я исправил это довольно просто, используя предложения @ RoryGS.
Определите параметры таблицы в переменной, как и раньше:
var eventTable = {
layout:"fitColumns",
columns:[
{title:"Event ID", field:"eventID"},
{title:"Event name", field:"eventName"},
{title:"Event status", field:"eventStatus"}
]
};
Затем выполните вызов jQuery ajax для извлечения данных и создайте таблицы в параметре success
функции:
$(function() {
$.ajax({
dataType: "json",
url: "/cgi-bin/getevents.py",
success: function(data, status){
$('#live-events-table').tabulator(eventTable);
$('#finished-events-table').tabulator(eventTable);
$('#live-events-table').tabulator("setData", data);
$('#live-events-table').tabulator("setFilter", "status", "in", ["intermission", "mid-event"]);
$('#finished-events-table').tabulator("setData", data);
$('#finished-events-table').tabulator("setFilter", "status", "in", ["post-event"]);
}
})})
Представляется необходимым установить данные отдельно для каждой таблицы. Я хотел бы указать данные в конструкторе, но это не похоже на работу. Я буду продолжать пытаться уточнить это.