cell(..).data(..)draw不是函数



我正在使用以下代码更新两个单元格的值

/*-----------------Agent Presence Websocket Starts-----------------------------*/
function presenceConnect(existing_table){
var agentPresenceSocket = new ReconnectingWebSocket(wsStart+domain+"/agent-presence/");
agentPresenceSocket.onmessage = function(e){
data = JSON.parse(e.data)
console.log(data);
var availability = data['availability'];
var id = data['id'];
var upn  = data['upn'];
var timeInStatus = data['timeInStatus'];
var rowId = $('#agent-table').dataTable()
.fnFindCellRowIndexes(upn, 0);
if(rowId.length>0){
if(yellowArray.includes(availability)){
existing_table
.cell(rowId, 6)
.data('<i class="fa fa-circle fa-lg yellow-light"></i>'+availability)
.draw(false);
};
if(greenArray.includes(availability)){
existing_table
.cell(rowId, 6)
.data('<i class="fa fa-circle fa-lg green-light"></i>'+availability)
.draw(false);
};
if(redArray.includes(availability)){
existing_table
.cell(rowId, 6)
.data('<i class="fa fa-circle fa-lg red-light"></i>'+availability)
.draw(false);
}
if(availability=="DoNotDisturb"){
existing_table
.cell(rowId, 6)
.data('<i class="fa fa-ban fa-lg red-light"></i>'+availability)
.draw(false);
}
existing_table
.cell(rowId, 7)
.data(timeInStatus)
.draw(false);
console.log("Time in status updated");
};
};
}
/*-----------------Agent Presence Websocket Ends-----------------------------*/

对于第6个单元格值正在更改,但对于第7个单元格,我得到了这个错误,尽管两个单元格的代码相同

Uncaught TypeError: existing_table.cell(...).data(...).draw is not a function

p.S:exisiting_table是DataTable((的一个实例

样本数据

{ upn: "abc@example.com", id: 613, activity: "Busy", availability: "Busy", time: "3:40:33" }

我将数据记录到浏览器的控制台中。我得到的是:

{ upn: "abc@example.com", id: 613, activity: "Busy", availability: "Busy", time: "3:40:33" }

为了收集时间,我使用了错误的密钥名称,即timeInStatus因此,data['timeInStatus']的值是undefined。这就是existing_table.cell().data().draw()抛出错误的原因。

当我使用正确的密钥名称,即time时,我没有得到任何错误。

最新更新