2016-01-15 1 views
3

У меня есть html-документ с полем для фильтрации текста в блоках. Вот мой код:Keyup связывает фильтрацию, чтобы заблокировать результаты

JS:

$('#search-input').on('keyup', function() { 

     var filter = $(this).val(); 

     var results = $('#icons section > .fontawesome-icon-list > .fa-hover:Contains("' + filter + '")'); 

     console.log(results); 

     $('#results .row').html(results); 
     $('#results').show(); 

    }); 

Отфильтрованный данные выводятся в блоке #results .row.

Сценарий работает правильно только в первый раз (первое нажатие клавиши «keyup»). Как сделать так, чтобы в каждом событии «keyup» он правильно фильтровал данные?

+0

Вы должны объявить этот ВАР вне этой функции. – Corey

+0

@Corey um, почему ?? – epascarello

+0

Так называется вызов клавиатуры? Ли линия фильтра возвращает что-нибудь? – epascarello

ответ

1

Вы должны клонировать результаты:

var results = $('#icons section > .fontawesome-icon-list > .fa-hover:Contains("' + filter + '")').clone(); 
+0

Спасибо, он работает хорошо. –

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