Im zu Daten anhängen an einem Tisch mit dem tablesorter Plugin versuchen (http://tablesorter.com) Im den folgenden Code verwenden:JQuery tablesorter beigefügten Datensortierung nicht
<table id="sortme" border="1" style="width: 200px;">
<thead>
<tr>
<th>first name</th>
<th>last name</th>
<th>age</th>
</tr>
</thead>
<tbody>
<tr>
<td>will</td>
<td>smith</td>
<td>1</td>
</tr>
...................
</tbody>
</table>
<a href="#" id="test">Click me!</a>
Und:
$(document).ready(function() {
var i = 5;
$("#sortme").tablesorter({
sortList: [[2,0]]
});
$("#test").click(function() {
$("#sortme tbody").append('<tr><td>NEW</td><td>NEW</td><td>'+(i++)+'</td></tr>');
$("#sortme").trigger("update");
var s = [[2,0]];
$("#sortme").trigger("sorton",[s]);
return false;
});
});
Problem ist die angehängte Zeile bleibt oben, warum? Siehe Beispiel: http://jsfiddle.net/jmU3Z/8/
Works, sondern erzeugt einen Fehler: [1] ist undefiniert http: // tablesorter .com/jquery.tablesorter.js Zeile: 573 – Linus
Ich denke, ich habe es gefunden. In dem Konstruktor von tablesorter rufen sie 'BuildHeaders' auf, um eine Liste von Spalten zu erhalten, die sie sortieren können, und' BuildCache', um sie zu sortieren. Wenn Sie ein Update aufrufen, wird nur der Cache erstellt (statt die Tabelle erneut zu instanziieren). Vielleicht ist dies ein Fehler oder eine undokumentierte Funktion. Auf jeden Fall wird das Konstrukt [wie in der neuesten Version gesehen] (http://jsfiddle.net/jmU3Z/14/) erneut aufgerufen, um den Cache neu aufzubauen und richtig zu sortieren. Auch sehr wahrscheinlich erwähnenswert für den Schöpfer. ;-) –
Ja, das funktioniert, aber nicht so hübsch =/ Nun, es ist eine Lösung, und nicht so schwer, den Update-Code Patch. Danke – Linus