如何解决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
时,我没有收到任何错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。