2
我可以看到,使用table.columns().cache()方法首次初始化表時,Jquery數據表生成排序緩存。我的其中一列包含td元素,其中包含類的跨度。示例:刷新Jquery Datatable中的排序緩存
<tr>...<td><span class="SpanColors red"></span></td>...</tr>
...
<tr>...<td><span class="SpanColors blue"></span></td>...</tr>
我對此特定列的排序取決於跨度上的類。我已經寫了一個基於文本的列分類功能來執行此操作,如here所述。
在我的表,我動態以這種方式更新行:
var id = //some guid
var newClassToAdd = 'yellow';
var rows = table.rows().nodes();
for (var i = 0; i < rows.length; i++) {
var row = $(rows[i]);
var span = row.find('td span.SpanColors')
if (span && span.data('id') == id) {
span.removeClass('red blue yellow');
span.addClass(newClassToAdd);
}
}
是我遇到的問題是,當我這樣做,緩存不更新,因此排序時,行以與我更新之前相同的順序出現。
行更新後是否有一些方法可用於更新此緩存?我搜索了互聯網,但顯然這不是很多人遇到的問題。也許如果我以不同的(更合理的)方式更新我的行,緩存可能會自行刷新?
這工作完美。謝謝您的幫助! – thomasdclark