使用jQuery更新表后,DataTables fnFilter无法正常工作

时间:2017-10-06 08:55:18

标签: javascript jquery datatables

我使用DataTables jQuery库作为项目中的表格。

要自定义过滤,我已在每行的第一列添加了带过滤字的span标记。例如:

<span style="display:none;" id="spanFilter' + i + '">filterWord</span>

然后我用select来过滤这些单词。

$("#filterSelect").on('change', function () {
    oTable.fnFilter($("#filterSelect option:selected").val(), 0);
});

这很好用。

我还有代码来更改#spanFilter

的filterWord
$("#spanFilter" + i).text(spanFilterValue);

使用jQuery更改filterWord后,fnFilter无效。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

通过查看您的代码,我相信您正在使用dataTables legacy version。如果您刚开始使用dataTables,我强烈建议您使用最新版本。

无论如何要反映在dataTables中,我强烈建议你使用dataTables api来改变表的内容,而不是使用jQuery。

注意:以下示例适用于DataTables v1.9

$(document).ready( function () {

  var oTable = $('#table').dataTable();

  // get an array of the TR nodes that are used in table's body
  var nNodes = oTable.fnGetNodes();

  // iterating over each TR or row
  nNodes.forEach(function(node,index) {

    // update first column of every node
    oTable.fnUpdate(spanFilterValue,node,0);

  });

});

API参考