Pergunta

Encontrei este ótimo plug -in TableSorter para jQuery, mas não posso fazê -lo funcionar com minha tabela gerada pelo PHP. Aqui está o código:

<script type="text/javascript">


    function table() {

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

    }


    $(document).ready(function() { 

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

</script>

Onde #Container é o div, onde estará a tabela e a tabela é o nome da tabela. Eu carrego a tabela, mas a função de classificação não está funcionando.

Funciona se eu colocar a tabela diretamente no HTML na página .. mas não vejo o ponto de ter uma tabela estática para classificar.

Qualquer ajuda será muito apreciada.

Foi útil?

Solução

$ .load () executa uma solicitação assíncrona, ou seja, a função não espera que os dados cheguem antes de retornar. Portanto $("table").tablesorter(); é executado provavelmente antes que a tabela seja adicionada ao documento. Faça uma chamada síncrona ou (ainda melhor) passe um manipulador para o evento completo para carregar.

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

.load (url, [dados], [completo (RespoteText, textStatus, xmlHttPrequest)]))
url Uma string que contém o URL para o qual a solicitação é enviada.
dados Um mapa ou string que é enviada ao servidor com a solicitação.
Complete (RespoteText, TextStatus, XmlHttPrequest) Uma função de retorno de chamada que é executada quando a solicitação é concluída.
<script type="text/javascript">
  $(document).ready(function() { 
    $("#container").load(
      "table.php?randval="+Math.random(),
      null,
      function (responseText, textStatus, req) {
        $("table").tablesorter();
      }
    );
  }); 
</script>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top