Javascript 使用jQuery更新表后DataTables fnFilter不工作

Javascript 使用jQuery更新表后DataTables fnFilter不工作,javascript,jquery,datatables,Javascript,Jquery,Datatables,我使用library作为项目中的表 为了定制过滤,我在每行的第一列添加了带有过滤词的span标记。例如: <span style="display:none;" id="spanFilter' + i + '">filterWord</span> 这个很好用 我还有代码来更改#spanFilter的filterWord $("#spanFilter" + i).text(spanFilterValue); 使用jQuery更改filterWord后,fnFilter无

我使用library作为项目中的表

为了定制过滤,我在每行的第一列添加了带有过滤词的span标记。例如:

<span style="display:none;" id="spanFilter' + i + '">filterWord</span>
这个很好用

我还有代码来更改
#spanFilter
的filterWord

$("#spanFilter" + i).text(spanFilterValue);
使用jQuery更改filterWord后,
fnFilter
无法正常工作


我做错了什么?

通过查看您的代码,我相信您正在使用。如果您刚开始使用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参考资料


  • 通过查看您的代码,我相信您正在使用。如果您刚开始使用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参考资料


    这可能是因为您正在更改HTML中的
    filterWord
    ,而datatable正在使用底层数据源,不管是什么。您是如何填充该表的?这可能是因为您正在更改HTML中的
    filterWord
    ,而datatable正在使用底层数据源,不管是什么。您是如何填充表的?