Pregunta

Encontré este gran complemento de tablas para jQuery, pero no puedo hacer que funcione con mi tabla generada por PHP. Aquí está el código:

<script type="text/javascript">


    function table() {

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

    }


    $(document).ready(function() { 

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

</script>

Donde #container es el div donde estará la tabla y la tabla es el nombre de la tabla. Tengo la mesa cargada pero la función de clasificación no funciona.

Funciona si pongo la tabla directamente en HTML en la página ... pero no veo el punto de tener una tabla estática para clasificar.

Cualquier ayuda será muy apreciada.

¿Fue útil?

Solución

$ .Load () realiza una solicitud asíncrona, es decir, la función no espera a que lleguen los datos antes de regresar. Por lo tanto $("table").tablesorter(); se ejecuta muy probablemente antes de que la tabla se agregue al documento. Hágase una llamada sincrónica o (aún mejor) pase un controlador para que se cargue el evento completo.

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

.Load (url, [datos], [completa (ResponseText, TextStatus, xmlhttprequest)]))
url Una cadena que contiene la URL a la que se envía la solicitud.
datos Un mapa o cadena que se envía al servidor con la solicitud.
Complete (ResponseText, TextStatus, xmlhttprequest) Una función de devolución de llamada que se ejecuta cuando se completa la solicitud.
<script type="text/javascript">
  $(document).ready(function() { 
    $("#container").load(
      "table.php?randval="+Math.random(),
      null,
      function (responseText, textStatus, req) {
        $("table").tablesorter();
      }
    );
  }); 
</script>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top