jquery数据表排序不适用于运行时值

时间:2012-02-08 07:07:32

标签: 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 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';

因此,第三列值是'某事'。因此,将通过此值进行排序。但它没有用。

它需要旧的价值观。请帮我。感谢

1 个答案:

答案 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上找到示例) }})

约万