Таблица, сгенерированная Mysql PHP:не работает с Tablesorter
-
19-09-2019 - |
Вопрос
Я нашел этот замечательный плагин 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();
выполняется, скорее всего, до добавления таблицы в документ.Либо сделайте это синхронным вызовом, либо (что еще лучше) передайте обработчик для загрузки всего события.
.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>