jQuery DataTables获取隐藏列数据

jQuery DataTables getting hidden column data

本文关键字:数据 隐藏 获取 DataTables jQuery      更新时间:2023-09-26

我有一个表,其中有两列被dataTables api隐藏。当我从表中删除一行时,我需要通过ajax传递这些列中的数据,这样它也会从数据库中删除。。

我之前一直在删除那些没有我直接需要的数据的行,没有任何问题。现在,我需要改变它以满足这种需求,并抓住这些价值观。问题是,无论我如何尝试旋转它,都会发生这样或那样的断裂。

delete_row = $(this).closest("tr").get(0);

这是我用来捕获要删除的行的方法,以便在确认删除该行时将其传递出去。这很好。现在,我需要匹配创建两个新var的逻辑,如果确认通过我的ajax调用,就可以读取这两个var。

我尝试过:

var aPos  = throttleTable.fnGetPosition($('td:eq(0)', delete_row));
var aData = throttleTable.fnGetData(aPos[0]);

除了一些不同的旋转来捕捉我想要从中获取数据的列。以上内容完全打破了剧本。这个想法来自

var aPos  = throttleTable.fnGetPosition(throttle_delete_row);
var aData = throttleTable.fnGetData(aPos[0]);

它确实有效,但只会将该行中的每一列作为字符串返回。这是不可取的。我会在上面运行一个循环,但这是有问题的,因为循环可能很昂贵,而且没有单独的方法来分割数据,因为其中一个隐藏列中的值本身就是CSV。因此,如果我用, 对循环进行拆分和定界,那么该循环也将无效

所以我的最终问题是,我如何分解它以获得特定的专栏?

好吧,好吧。显然,问题是当我只需要fnGetData()位时,我正试图做很多事情。

事实证明,在处理了实际发生的事情并将其全部转储到console.log()之后,我能够整理出我真正需要做的就是throttleTable.fnGetData(throttle_delete_row, 0),例如,获取我所寻找的隐藏列。

$(document).ready(function() {
  $('#example tbody td').click( function () {
  // Get the position of the current data from the node
  var aPos = oTable.fnGetPosition( this );
  // Get the data array for this row
  var aData = oTable.fnGetData( aPos[0] ); 
});

返回的都是数组,获取数组对应的下标就可以了!