2016-01-04 5 views
0

У меня есть DataTable (1.10.0), запущенный с помощью CodeIgniter. Данные предоставлены ajax с помощью библиотеки Datatables. Все работает нормально.Внешний поиск столбцов DataTables

Я хотел бы вставить поле ввода где-нибудь на моей странице, чтобы фильтровать/искать только один столбец. Я пробовал с:

$('#customer').on('keyup click', function() { 
    $('#results').DataTable().search(
    $('#customer').val() 
).draw(); 
}); 

Выполняет поиск во всех столбцах и изменяет значение в собственном поле поиска DataTables. Если я добавлю столбец(), он больше не будет искать в таблице, хотя он снова рисует все данные ajax без фильтра/поиска.

$('#customer').on('keyup click', function() { 
    $('#results').DataTable().column(0).search(
    $('#customer').val() 
).draw(); 
}); 

Мой вопрос: Каков надлежащий способ реализации внешнего поиска/фильтрации столбцов на обработанных сервером данных?

Спасибо!

ответ

0

Вы используете функцию API column().search() правильно.

Однако при обработке на стороне сервера отдельные поисковые запросы отправляются в отдельных параметрах запроса, см. Server-side processing.

Например, если вы будете искать первый столбец со значением John Doe, сервер скрипт получит запрос с параметром columns[0][search][value] набором для John Doe а параметр глобального поиска search[value] будет пустым.

Вам необходимо обработать этот отдельный столбец, который ищет отдельно на стороне сервера, либо вручную, либо с помощью библиотеки.

+0

О, спасибо! Теперь я вижу проблему своего решения. Что вы думаете об этой библиотеке? https://github.com/zepernick/Codeigniter-DataTables –

+0

NONONO определенно нет. Даже демонстрации связанного решения имеют ошибки. –

Смежные вопросы