下の表があります。
<table id="myTable" class="tablesorter">
<thead>
<tr>
<th>No</th>
<th>Name</th>
<th>Email</th>
<th class='time'>Time</th>
<th>Price</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Smith</td>
<td>jsmith@gmail.com</td>
<td class='time'>60 mins</td>
<td>45</td>
</tr>
</tbody>
</table>
jquery tablesorter プラグインを使用しています。すでに、テーブルソーターはうまく機能しています。すべての列がソート可能であることがわかります。
私のアプリケーションでは、[更新] ボタンをクリックすると、行が動的に追加または削除されます。つまり、テーブルの内容が変更されます。テーブルの変更後、並べ替えが機能しません。
ここにjsfiddle デモがあります。
以下は、tablesorter を呼び出すコードです。
$("#myTable").tablesorter({
headers: {
4: { sorter: "integer"},
2: {sorter: false}
},
debug:true,
textExtraction:function(node){
var $node = $(node)
var text = $node.text();
if ($node.hasClass('time')) {
text = text.replace('mins', '');
};
return text;
}
});
与えられたデモの例では、追加された行が最初の行になり、並べ替えには使用されません。