Mysql PHP сгенерированная таблица: не работает с Tablesorter - PullRequest
1 голос
/ 14 марта 2010

Я нашел этот отличный плагин Tablesorter для jQuery, но не могу заставить его работать с моей сгенерированной таблицей PHP Вот код:

<script type="text/javascript">


    function table() {

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

    }


    $(document).ready(function() { 

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

</script>

Где #container - это div, где будет таблица, а table - это имя таблицы. Я загружаю таблицу, но функция сортировки не работает.

Это работает, если я помещаю таблицу непосредственно в html на странице ... но я не вижу смысла иметь статическую таблицу для сортировки.

Любая помощь будет принята с благодарностью.

1 Ответ

3 голосов
/ 14 марта 2010

$. Load () выполняет асинхронный запрос, то есть функция не ожидает поступления данных перед возвратом. Поэтому $("table").tablesorter(); выполняется, скорее всего, до добавления таблицы в документ. Либо сделайте это синхронным вызовом, либо (что еще лучше) передайте обработчик для загрузки завершенного события.

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

.load (url, [data], [complete (responseText, textStatus, XMLHttpRequest)])
url Строка, содержащая URL, на который отправляется запрос.
data Карта или строка, отправленная на сервер с запросом.
complete (responseText, textStatus, XMLHttpRequest) Функция обратного вызова, которая выполняется после завершения запроса.
<script type="text/javascript">
  $(document).ready(function() { 
    $("#container").load(
      "table.php?randval="+Math.random(),
      null,
      function (responseText, textStatus, req) {
        $("table").tablesorter();
      }
    );
  }); 
</script>
...