Вы когда-нибудь проверяли этот пример?
Что касается вашего кода, я могу увидеть пару ошибок:
this
внутриПрослушиватель событий соответствует элементу HTML (даже объекту jQuery), поэтому у него нет свойства dataTable
, на которое вы ссылаетесь; атрибут value
также недоступен, поэтому ваш поиск, в основном,ища undefined
, на самом деле, я мог бы предположить, что вы пытались сделать .val()
; - , так как вы используете
.user-data
в качестве родительского узла внутри вашего селектора, вы должны знать, что поиск будетДля каждой таблицы на одной и той же странице, имеющей один и тот же класс, что может показаться довольно неловким, я бы рекомендовал вместо этого использовать уникальный идентификатор; - еще одна причина, по которой он может не работать, заключается в том, что содержимое таблицы (включая
thead
) генерируются динамически, поэтому вы не можете сразу подключить к нему прослушиватель событий и должны использовать делегирование события ;
С учетом вышеизложенного, например, фрагмент кода, которыйЯ рекомендуюРед, выше, не будет работать для вас, по какой-то причине, я бы изменил ваш код на что-то вроде:
$('#tableid thead th').unbind().bind('keyup', function() {
dataTable.column(2).search($(this).val()).draw(); });
, что не обязательно решит проблему, так как я не вижу остальную часть контекста.Вы можете найти работающих DEMO здесь .