Question

J'ai trouvé ce grand plugin de tableaux pour jQuery, mais je ne peux pas le faire fonctionner avec ma table générée par PHP. Voici le code:

<script type="text/javascript">


    function table() {

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

    }


    $(document).ready(function() { 

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

</script>

Où #Container est le div où sera la table et la table est le nom de la table. Je reçois le tableau chargé mais la fonction de tri ne fonctionne pas.

Cela fonctionne si je mets le tableau directement dans HTML dans la page .. mais je ne vois pas l'intérêt d'avoir une table statique pour le tri.

Toute aide serait très appréciée.

Était-ce utile?

La solution

$ .load () effectue une demande asynchrone, c'est-à-dire que la fonction n'attend pas que les données arrivent avant de revenir. Par conséquent $("table").tablesorter(); est exécuté très probablement avant que le tableau ne soit ajouté au document. Faites-en un appel synchrone ou (encore mieux) passer un gestionnaire pour le chargement complet.

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

.Load (URL, [DATA], [Complete (ResponseText, TextStatus, XmlHttpRequest)]))
URL Une chaîne contenant l'URL à laquelle la demande est envoyée.
Les données Une carte ou une chaîne envoyée au serveur avec la demande.
complet (ResponseText, TextStatus, XMLHTTPRequest) Une fonction de rappel qui est exécutée lorsque la demande se termine.
<script type="text/javascript">
  $(document).ready(function() { 
    $("#container").load(
      "table.php?randval="+Math.random(),
      null,
      function (responseText, textStatus, req) {
        $("table").tablesorter();
      }
    );
  }); 
</script>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top