Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 查询数据表排序不适用于运行时值_Php_Jquery - Fatal编程技术网

Php 查询数据表排序不适用于运行时值

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

我使用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>
通过单击“#否”标题,分别以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。现在已经修好了。谢谢你的帮助。