使用jQuery更新表后,DataTables fnFilter无法正常工作
问题描述:
我使用DataTables jQuery库作为我项目中的表。使用jQuery更新表后,DataTables fnFilter无法正常工作
要自定义过滤我已将带有过滤词的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后,无法正常工作。
我在做什么错?
答
通过查看您的代码,我相信您正在使用dataTables legacy version。如果你刚开始使用dataTables,我会强烈建议你使用最新版本。
无论如何反映在dataTables我强烈建议你使用dataTables api来改变表的内容,而不是使用jQuery。
注:以下示例是数据表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参考
这可能BEC因为你正在改变HTML中的'filterWord',而数据表使用底层的数据源,无论这可能是什么。你如何填充桌子? – markpsmith
请出示一些礼貌回答我的回答。它激励了我们很多,并鼓励我们回答。 –