Frage

Ich habe dieses großartige Tischsorter -Plugin für JQuery gefunden, aber ich kann es nicht mit meinem PHP -generierten Tisch funktionieren. Hier ist der Code:

<script type="text/javascript">


    function table() {

        $("#container").load("table.php?randval="+Math.random());

    }


    $(document).ready(function() { 

        table();
        $("table").tablesorter(); 
   }); 

</script>

Wobei #Container der Div ist, in dem sich die Tabelle befindet, und Tabelle der Name der Tabelle. Ich lasse die Tabelle geladen, aber die Sortierfunktion funktioniert nicht.

Es funktioniert, wenn ich die Tabelle direkt in HTML in die Seite stecke. Ich sehe jedoch nicht den Punkt, wenn ich eine statische Tabelle zum Sortieren habe.

Jede Hilfe wäre sehr geschätzt.

War es hilfreich?

Lösung

$ .load () führt eine asynchrone Anfrage aus, dh die Funktion wartet nicht, bis die Daten vor der Rückkehr eintreffen. Deswegen $("table").tablesorter(); wird am wahrscheinlichsten ausgeführt, bevor die Tabelle zum Dokument hinzugefügt wird. Machen Sie es entweder zu einem synchronen Anruf oder (noch besser) einen Handler, damit das vollständige Ereignis geladen werden kann.

http://api.jquery.com/load/:

.load (URL, [Daten], [vollständige (Responsext, textstatus, xmlhttprequest)]))
URL Eine Zeichenfolge, die die URL enthält, an die die Anfrage gesendet wird.
Daten Eine Karte oder eine Zeichenfolge, die mit der Anforderung an den Server gesendet wird.
Vollständig (Responsext, textstatus, xmlhttprequest) Eine Rückruffunktion, die ausgeführt wird, wenn die Anforderung abgeschlossen ist.
<script type="text/javascript">
  $(document).ready(function() { 
    $("#container").load(
      "table.php?randval="+Math.random(),
      null,
      function (responseText, textStatus, req) {
        $("table").tablesorter();
      }
    );
  }); 
</script>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top