Я борюсь с этим:
Проблема:
Код для получения таблицы:
$.ajax({
url:"includes/getfromdb.php",
type: "POST",
data: $("#usersearchform").serialize(),
success:function(result){
$("#custresults").empty(); // container for the results
$("#custresults").append(result);
$("#customertable").tablesorter();
},
error: function(err) {
alert(err);
}
});
Тот факт, что это работает на моем WAMP-сервере, а не в конечном месте кода, на удаленном сервере, может означать, что есть какая-то проблема конфигурации или что-то подобное ..? Или что ты думаешь ТАК?
Я не знаю, какие еще детали я мог бы дать прямо сейчас, поэтому я добавлю больше, если это необходимо.
Обновление 17.9.14-08.16
Подробнее Сгенерированная php таблица без данных, только структура:
<div id="custresults" class="results">
<table id="customertable" class="tablesorter">
<thead>
<tr class="nohower">
<th class="smalltd header"></th>
<th class="header"></th>
<th class="header"></th>
<th class="header"></th>
<th class="header"></th>
<th class="header"></th>
<th class="header"></th>
<th class="header"></th>
<th class="header"></th>
<th class="header"></th>
<th class="header"></th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
Конечно, в теле есть больше. tr: s и td: s. Нормальная структура там.
Я уже пытался запустить обновление, но оно не работает для меня. Я думаю, это потому, что вся таблица удаляется, а затем создается снова, а не просто обновляет ее.
Хорошо, я только что понял это.
Данные, которые находятся на сервере, имеют в некоторых столбцах знак «-» как первый элемент в этом столбце. Сортировщик таблиц видит это как минус или что-то в этом роде, потому что отладчик идентифицирует этот столбец как цифры и поэтому не может отсортировать столбец, в котором есть текст. Глупо, что я раньше не замечал этого на отладчике.
Спасибо за использование вашего времени с этим.
Обновить: Я ничего не сделал для самого сортировщика таблиц, но вместо этого избавился от символов «-», которые существовали в данных, так как это был только недостаток дизайна с моей стороны, и я мог легко изменять входящие данные.
Я мог бы предоставить лучшую помощь, если бы вы могли поделиться некоторыми из полученных HTML.
От догадки я бы заподозрил, что #custresults
это идентификатор tbody
, Так что если вы заменяете только содержимое tbody
Вы не должны повторно инициализировать TableSorter. Вместо этого запустите событие обновления:
// initialize tablesorter outside of the ajax
$("#customertable").tablesorter();
$.ajax({
url:"includes/getfromdb.php",
type: "POST",
data: $("#usersearchform").serialize(),
success:function(result){
$("#custresults").empty(); // container for the results
$("#custresults").append(result);
// update tablesorter cache
$("#customertable").trigger('update');
},
error: function(err) {
alert(err);
}
});