Tabela gerada pelo MySQL PHP: não funciona com o TableSorter
-
19-09-2019 - |
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.
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.
.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>