Php 查询数据表排序不适用于运行时值
我使用jquery数据表进行排序。它在正常情况下工作正常。如果在运行时更改了该值,则排序不起作用 这是我的表格数据Php 查询数据表排序不适用于运行时值,php,jquery,Php,Jquery,我使用jquery数据表进行排序。它在正常情况下工作正常。如果在运行时更改了该值,则排序不起作用 这是我的表格数据 <table width="94%" cellpadding="2" cellspacing="1" class="tablehead" id="pls-batting"> <thead> <tr class="tab_head" align="right" id="pls-play" > <th widt
<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>
通过单击“#否”标题,分别以asc和desc顺序显示相应的列。这些TD值将通过使用在加载时更改
document.getElementById(3).innerHTML = 'something';
因此,第三列的值是“某物”。因此,排序将由该值完成。但它不起作用
它采用旧的价值观。请帮帮我。感谢使用javascript更改表的值后,您需要重新绘制表:
$('#pls-batting').dataTable();
document.getElementById(3).innerHTML = 'something';
$('#pls-batting').fnDraw();
请注意:数字id无效。它必须以字母字符开头,例如
a1
使用javascript更改表的值后,需要重新绘制表:
$('#pls-batting').dataTable();
document.getElementById(3).innerHTML = 'something';
$('#pls-batting').fnDraw();
请注意:数字id无效。它必须以字母字符开头,例如:a1首先,您使用以下字符的原因是什么:
document.getElementById(3.innerHTML='something'代码>
而不是:
$('#3').html('something');
如果没有原因,请更改它并重试。如果不起作用,则在将值更改为某个值后,通过执行以下操作重新初始化dataTable:
$('pls batting')。数据表({
//这里的选项
} );代码>
由于该函数可能会缓存表值和位置,因此它不必每次进行排序时都遍历DOM。首先,您使用该函数的原因是:
document.getElementById(3.innerHTML='something'代码>
而不是:
$('#3').html('something');
如果没有原因,请更改它并重试。如果不起作用,则在将值更改为某个值后,通过执行以下操作重新初始化dataTable:
$('pls batting')。数据表({
//这里的选项
} );代码>
由于该函数可能会缓存表值和位置,因此它不必每次进行排序时都遍历DOM。您应该重新绘制表。最好是像这样缓存数据表:
$(document).ready(function() {
var oTable = $('#pls-batting').dataTable() ;
document.getElementById(3).innerHTML = 'something';
oTable.fnDraw();
} );
你应该重新画桌子。最好是像这样缓存数据表:
$(document).ready(function() {
var oTable = $('#pls-batting').dataTable() ;
document.getElementById(3).innerHTML = 'something';
oTable.fnDraw();
} );
阅读下面的注释,而不是像konsolenfreddy所说的那样重新初始化整个函数,并使用$('#pls batting').fnDraw()重新绘制表格;。阅读下面的注释,而不是像konsolenfreddy所说的那样重新初始化整个函数,并使用$('#pls batting').fnDraw()重新绘制表格;。我使用了oTable.fnDraw()。但它不起作用。我需要做任何更新功能吗?我使用了oTable.fnDraw()。但它不起作用。我可以做任何更新功能吗?我试过这个$('pls batting').fnDraw();而且但它不起作用。我做错了什么?你是在通过javascript操作了值之后重新绘制了表吗?是的,我在javascript中更改了值之后使用了fnDraw()函数。也许你可以将整个过程放到js小提琴中,否则我们几乎不可能猜到确切的错误我使用的是FNDUpdate而不是innerHTML。现在已经修好了。谢谢你的帮助。我试过这个$('pls batting')。fnDraw();而且但它不起作用。我做错了什么?你是在通过javascript操作了值之后重新绘制了表吗?是的,我在javascript中更改了值之后使用了fnDraw()函数。也许你可以将整个过程放到js小提琴中,否则我们几乎不可能猜到确切的错误我使用的是FNDUpdate而不是innerHTML。现在已经修好了。谢谢你的帮助。