0

我正在使用 jquery dataTable 来显示客户记录。第一次进入客户页面时,我在 dataTable 中有 20 个客户记录,按 customerId 列排序(因此它们从 20 到 1 开始显示,其中 20 是第 20 个客户的 id,1 是第一个客户的 id)按 desc 顺序排列。第 20 个客户显示在数据表的顶部。

现在如果在我的 javascript 代码中执行以下操作

 var customerTable=$('#customer').dataTable();// where customer is the html div associated with dataTable

 var custData = customerTable.fnGetData(18)// it gives me data of 19 row in dataTable( as dataTable index starts from 0)
 // so i get the data of customer having customer id=19

到这里为止都很好。

现在我单击 customerId 列上的排序图标。因此,对 id 为 1 的客户进行排序后,dataTable 将显示在顶部,而 id 为 20 的客户将显示在底部。现在我再次执行我的 javascript 操作

var customerTable=$('#customer').dataTable();

 var custData = customerTable.fnGetData(18)
 // it should give me data for customer id=2 Right? but still i am getting the old data i.e customer Data having id=19.

为什么排序后我没有得到正确的数据?在数据表排序后,我应该如何获得带有行 ID 的正确数据?

4

1 回答 1

0

我尝试了同样的事情,几乎没有改变。

首先创建全局变量来保存表。

var customerTable;

然后将对象启动为就绪状态。

$(document).ready(function() {
        customerTable = $('#customer').dataTable();
});

如果您现在排序并获取数据。你可能会得到你想要的。

var custData = customerTable.fnGetData(18);

我唯一知道的是排序后我没有启动表格对象。

于 2012-12-21T09:17:29.993 回答