В настоящее время у меня есть сценарий, который получает информацию из базы данных после ввода (500 мс). В первый раз, когда я указываю параметр, он полностью работает, но во второй раз, если я даю другой параметр, он не делает все правильно. Когда я нажимаю на заголовки таблицы, он добавляет 15 строк, но сначала удаляю их, а мой лимит по моему запросу - 5 строк.Сортировка сгенерированных строк tablesorter
Как это исправить?
<html>
<head>
<script>
jQuery(document).ajaxStop(function() {
jQuery("#myTable").tablesorter();
});
var delay = (function() {
var timer = 0;
return function(callback, ms) {
clearTimeout(timer);
timer = setTimeout(callback, ms);
};
})();
$(document).on("keypress", "#searchValue", function() {
delay(function() {
$("#myTable tbody").empty();
var name = $("#searchValue").val();
$.post("<?php echo site_url('project/searchProject'); ?>",
{
name: name
},
function(data, status) {
var items = "";
data = $.parseJSON(data);
if (data.toString() !== "") {
$.each(data, function(index, item) {
items += "<tr>" + "<td>" + item.Code + "</td>";
items += "<td>" + item.Description + "</td>";
items += "<td>" + item.ProjectLeader + "</td>";
items += "<td>" + item.AccountManager + "</td>";
items += "</tr>";
});
}
$("#myTable tbody").append(items);
});
}, 500);
});
</script>
</head>
<body>
<input type='text' name='searchValue' id='searchValue'/>
<br>
<br>
<table id='myTable' class='tablesorter'>
<thead>
<tr>
<th>Code</th>
<th>Description</th>
<th>Project leader</th>
<th>Account manager</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</body>
</html>
Таким образом, вы добавляете результаты к телу после каждого запроса. Удаляете ли вы дубликаты записей или каким-то образом их объединяете? –
Я удаляю все строки из таблицы с помощью .empty() перед выполнением запроса. – David