无法读取未定义(…)的属性“_aData” - 数据表
Posted
技术标签:
【中文标题】无法读取未定义(…)的属性“_aData” - 数据表【英文标题】:Cannot read property '_aData' of undefined(…) - Datatables 【发布时间】:2017-03-14 10:20:06 【问题描述】:我正在尝试从datatable
的单元格中读取data()
,其中有一个按钮,但我遇到了错误。
这是我的Datatable
定义:
$("#example").DataTable(
destroy: true,
"columnDefs": [
orderable: false,
targets: 0
],
"columns": [
"data": "slno",
"fnCreatedCell": function (nTd, sData, oData, iRow, iCol)
$(nTd).html('<a href="AddNewTicket.aspx?subjectID=' + oData.subjectID + '&subject_id=' + oData.subject_id + '&serviceID=' + oData.crm_services_id + '&severityID=' + oData.severityID + '&statusID=' + oData.statusID + '&callerID=' + '66355356' + '">' + oData.slno + '</a>');
,
,
"data": "status_message" ,
"data": "crm_services_id" ,
"data": "subject_id" ,
"data": "severity_id" ,
"data": "user_id" ,
"data": "status_id" ,
"data": "caller_number",
"fnCreatedCell": function (nTd, sData, oData, iRow, iCol)
$(nTd).html('<button class="btn btn-primary" id= "' + oData.subjectID + '">Call Customer</button>');
,
],
select:
style: 'os',
selector: 'td:first-child'
,
"data": response,
"sDom": '<"top">tip'
);
这是我试图获取数据的地方:
var table = $("#example").DataTable();
$('#example tbody').on('click', 'button', function ()
var subjectID = $(this).attr('id');
var thisData = table.row($(this).parents('tr')).data();
var userID = thisData[7];
sendCallRequest(subjectID, userID);
);
这是我得到的错误:
无法读取 undefined(...) 的属性“_aData”
有什么建议吗?
【问题讨论】:
嗨,你解决了吗? 【参考方案1】:在重新分配按钮之前,尝试取消绑定按钮的事件:
var table = $("#example").DataTable();
$('#example tbody').off('click');
$('#example tbody').on('click', 'button', function ()
var subjectID = $(this).attr('id');
var thisData = table.row($(this).parents('tr')).data();
var userID = thisData[7];
sendCallRequest(subjectID, userID);
);
我为什么建议这个:我有一个非常相似的问题,DataTables 无法调用 rowReorder 事件。我还通过 AJAX / 动态创建我的表(你似乎也这样做),所以显然我的事件监听器(在我的情况下为 table.on('row-reorder'))被绑定了多次。在首先删除事件侦听器并阅读它之后,我终于让它工作了。
【讨论】:
以上是关于无法读取未定义(…)的属性“_aData” - 数据表的主要内容,如果未能解决你的问题,请参考以下文章
[Vue 警告]:观察者“childItems”的回调错误:“TypeError:无法读取未定义的属性‘标签’”
无法读取未定义类型错误的属性“推送”:无法读取未定义错误的属性“推送”
带有 Ionic 4 的 SQLite?无法读取未定义类型错误的属性“then”:无法读取未定义的属性“then”