2016-08-18 158 views
0

我使用Ajax动态创建并填充了Jquery Datatable。 Datatable创建后,我试图访问它的行值,但得到像Unable to get property 'aDataSort' of undefined or null reference错误。这里是代码添加上面的错误是在页面加载时,如果我不添加页面渲染罚款。无法在调用.datatable时获取未定义或空引用的属性'aDataSort'

var tbtable = $('#SettingsDatatable').DataTable(); 
var dataa = tbtable.row($(this).closest("tr")).data(); 

请帮忙。

+0

'$(this).closest(“tr”)'...中的'this'是什么?如果这是代码'this'永远不会包含有效的表格元素引用,并且如果它不是,例如某种事件处理程序的一部分,请显示相关的完整代码。 – davidkonrad

+0

@davidkonrad我在Ajax调用Webservice内部创建了Datatable。在Ajax之外,我添加了发布的代码。是否有任何替代'this'' – Lara

回答

1

如果你想获得所有行的数据(这听起来像你这样做),你只需要改变

var dataa = tbtable.row($(this).closest("tr")).data(); 

var dataa = tbtable.rows().data(); 

您以前的版本是什么如果你想得到单行数据,你会使用,但如果是这样的话,你必须从某些东西中调用它来确定什么是thisthis是指<tr>要检索其数据的行的元素。

+0

我需要获得单个行值。请通过共享代码片段来请教我,该代码片段将从tr中获取。 – Lara

+0

@Lara你已经有了获取单行数据的方法,问题在于你从哪里调用它。你能澄清为什么你需要单行,它应该是哪一行(他们点击的那一行,第一行等)以及你使用这些数据的目的是什么?这些信息可能会让我更容易告诉你如何去做。 –

相关问题