我使用jquery数据表进行排序。它在正常情况下工作正常。如果我在运行时更改了值,则排序不起作用。
这是我的表数据
<table width="94%" cellpadding="2" cellspacing="1" class="tablehead" id="pls-batting">
<thead>
<tr class="tab_head" align="right" id="pls-play" >
<th width="44" align="center" ># No </th>
</tr>
</thead>
<tbody>
<tr id="116706">
<td align="left" id='1' >test</td>
</tr>
<tr id="116707">
<td align="left" id='2'>bbb</td>
</tr>
<tr id="116708">
<td align="left" id='3' >xxx</td>
</tr>
</tbody>
</table>
用于排序的Jquery方法是:
$(document).ready(function() {
$('#pls-batting').dataTable( {
} );
} );
单击“#No”,分别按asc和desc顺序显示相应的列。将使用
更改这些TD值 document.getElementById(3).innerHTML = 'something';
因此,第三列值是'某事'。因此,将通过此值进行排序。但它没有用。
它需要旧的价值观。请帮我。感谢
答案 0 :(得分:1)
在DataTables中,您不应更新HTML单元格的内容。 DT使用内部JavaScript数组结构进行搜索/排序,此单元格只是一个显示值。
要更新某个单元格,您需要使用DT fnUpdate函数,请参阅http://datatables.net/api#fnUpdate。更新表格中的单元格的示例是:
var oTable = $('#example')。dataTable(); oTable.fnUpdate('新内容',10,3);
请注意,单元格由行/单元格位置引用。如果您不知道行/单元格位置,那么您可以使用http://datatables.net/api#fnGetPosition函数查找ID为3的TR的位置,并使用此信息使用fnGetData函数更新单元格数据(您可以在{{3上找到示例) }})
约万