2016-09-17 1 views
0

Ich möchte eine Tabelle erstellen, die db-Informationen mit ejs und nodes.js anzeigt.Sortieren einer Datenbank js generierte Tabelle

<table class="table table-striped table-hover" id="loaded-table"> 
    <thead> 
     <tr> 
      <th>First</th> 
      <th>Second</th> 
      <th>Third</th> 
      <th>Fourth</th> 
      <th>Fifth</th> 
     </tr> 
    </thead> 
    <tbody> 
    <% for(var i=0; i < data.length; i++) { %> 
     <tr> 
      <td> <%= data[i].prsnl_firstName %> </td> 
      <td> <%= data[i].prsnl_lastName %> </td> 
      <td> <%= data[i].prsnl_city %> </td> 
      <td> <%= data[i].prsnl_email %> </td> 
      <td> <%= data[i].prsnl_age %> </td> 
     </tr> 
    <% } %> 
    </tbody> 
</table> 

Aber ich will auch, dass es sortierbar ist. Wie in Wikipedia, wo Sie auf einen der th klicken und die Tabelle wird nach dieser Spalte sortiert. Das Problem ist, versuchen, ein jquery-Plugin zu verwenden, funktioniert nicht, da die Tabelle im Moment der Ausführung des Codes buchstäblich nicht vorhanden ist. Gibt es einen Weg, dies zu tun?

Antwort

0

Ok, Sie können Ihre JQuery plugin (Beispiel http://tablesorter.com/docs/) verwenden, aber Sie müssen sicherstellen, dass Sie das sortierbare Verhalten ausgeführt werden, nachdem die Tabelle erstellt wird, müssen Sie Szenarien:

1) Die Tabelle wird erstellt, wenn die Seite gerendert wird, für diesen Fall, dass Sie laufen document on ready

$(document).ready(function(){ 
     $("#myTable").tablesorter(); 
}); 

2) mit benötigen Wenn Ihre Tabelle nach einigen Trigger erstellt wird, nur laufen $("#myTable").tablesorter(); oder gleichwertig nach dem Trigger.

+0

Es tut mir leid, etwas funktioniert nicht. Wenn ich es mit einer normalen Tabelle mache, funktioniert es, aber für eine generierte Tabelle zeigt es die Tabelle an, tut aber nichts – user3187759