Я пытаюсь выполнить поиск по дате, когда пользователь нажимает кнопку поиска.JQuery Datatables 1.10 функция поиска работает только один раз
Если я нажму кнопку NY/London, таблица будет фильтроваться правильно. Если я сейчас нажму кнопку Сан-Франциско, в таблице не будет записей.
Я предполагаю, что это поведение объясняется тем, что таблица должна быть очищена от всех существующих запросов до того, как будет выполнена новая. Я не могу понять, как это сделать.
Вот код:
$(document).ready(function() {
var table = $('#example').DataTable();
function filter_table(param1,param2){
$.fn.dataTable.ext.search.push(
function(settings, data, dataIndex) {
if (data[2]==param1 || data[2]==param2){return true;}
return false;
}
);
}
$("#ny_london").click(function(){
filter_table('New York','London');
table.draw();
});
$("#sf").click(function(){
filter_table('San Francisco',null);
table.draw();
});
});
Вот живая ссылка на таблицу и код.
http://live.datatables.net/tulavila/1/edit
Кто-нибудь есть какие-либо идеи, как сделать эту работу?
Это не тот случай, когда кнопка NY/London работает, а кнопка San Francisco не работает. Если вы сначала нажмете кнопку Сан-Франциско, вы обнаружите, что кнопка NY/London не работает так, как вы этого хотите. Это связано с тем, что отфильтрованная таблица перерисовывается как новая таблица, которую либо Сан-Франциско, либо Нью-Йорк/Лондон не могут сосуществовать одновременно. – Aaron
Итак, мне нужно сначала перерисовать полную таблицу, а затем отфильтровать. Я использую функцию фильтра данных datatables по-другому, просто вернув true, если строка соответствует моим условиям. – user3101337