Таблица, сгенерированная Mysql PHP:не работает с Tablesorter

StackOverflow https://stackoverflow.com/questions/2441057

Вопрос

Я нашел этот замечательный плагин 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 на странице.но я не вижу смысла иметь статическую таблицу для сортировки.

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

Это было полезно?

Решение

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

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

.load( URL, [данные], [полный(responseText, textStatus, XMLHttpRequest)])
URL Строка, содержащая URL-адрес, на который отправляется запрос.
данные Карта или строка, которая отправляется на сервер вместе с запросом.
завершено (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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top