我正在使用以下代码更新两个单元格的值
/*-----------------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
时,我没有得到任何错误。