Domanda

Ho trovato questo ottimo plug -in tablesorter per jQuery ma non riesco a farlo funzionare con il mio tavolo generato da PHP. Ecco il codice:

<script type="text/javascript">


    function table() {

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

    }


    $(document).ready(function() { 

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

</script>

Dove #Container è il Div dove sarà la tabella e la tabella è il nome della tabella. Viene caricato la tabella ma la funzione di smistamento non funziona.

Funziona se metto la tabella direttamente in HTML nella pagina .. ma non vedo il punto di avere una tabella statica per l'ordinamento.

Qualsiasi aiuto sarebbe molto apprezzato.

È stato utile?

Soluzione

$ .load () esegue una richiesta asincrona, cioè la funzione non attende l'arrivo dei dati prima di tornare. Perciò $("table").tablesorter(); viene eseguito molto probabilmente prima che la tabella venga aggiunta al documento. O rendilo una chiamata sincrona o (ancora meglio) passare un gestore per il caricamento dell'evento completo.

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

.load (URL, [Data], [Complete (RomesText, TextStatus, XMLHTTPREQUEST)])
URL Una stringa contenente l'URL a cui viene inviata la richiesta.
dati Una mappa o una stringa che viene inviata al server con la richiesta.
Completo (DomponteText, TextStatus, XMLHTTPREQUEST) Una funzione di callback che viene eseguita al termine della richiesta.
<script type="text/javascript">
  $(document).ready(function() { 
    $("#container").load(
      "table.php?randval="+Math.random(),
      null,
      function (responseText, textStatus, req) {
        $("table").tablesorter();
      }
    );
  }); 
</script>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top