Вы можете сохранить свойства записи в DOM.Например, вы можете сделать следующее:
//assuming you get your results via ajax/JSON
search_filter = new Array();
$.ajax({
success: function(json) {
for (var key in json) {
search_filter.push(json[key]) //this loop might not be necessary depending on how json looks like
}
}
});
//We define jRecords globally for performance gains, however, updates to the table are not registered
var jRecords = $('table#relevant_table>tr');
$('input#search').bind('change', function() {
var jExceptions = $;
var this_value = $(this).val();
var size = jRecords.size();
for (var i=0; i<size; i++) {
if (search_filter[i].relevant_value > this_value) {
jExceptions.add(jRecords.eq(i));
};
}
jRecords.not(jExceptions).hide();
jExceptions.show();
})
Это показывает, как вы могли бы использовать DOM для хранения фильтра и использовать это для фильтрации записей через js.Я попытался избежать большого количества селекторов и отдельных действий, чтобы повысить производительность (поскольку вы работаете с тысячами строк, это может быть медленным), и вместо этого выбрал поиск строк вместе и их обновление за один раз.Однако этот пример может все еще не быть оптимизирован для вашей конкретной задачи.Я также не проверял, работает ли пример на самом деле, но я вполне уверен, что он будет работать (хотя и ожидаю несколько ошибок синтаксиса).