Добавить и удалить элемент ЕСЛИ класс имеет стиль x... не работает должным образом

Я использую плагин быстрого поиска jquery ( https://github.com/riklomas/quicksearch), который фильтрует список на основе данных, введенных в поле ввода.

Если нет результатов, я хочу отобразить сообщение о том, что так.

Плагин быстрого поиска добавляет отображение: нет для всех элементов списка, которые не должны отображаться.

Поэтому я попробовал это:

        // load jquery.quicksearch
        $('#search').parent().css('display','block').end().quicksearch('#ul'+id+' li');

        // show / hide message
        $("input#search").keypress(function() {
                li = $('.category li');                 
                if (li.css('display') == 'none') {
                    $('body').append('<div id="noContent">no content</div>');
                } else { 
                    $('#noContent').remove();
                }
        });

В результате получается очень дурацкое / глючное решение. Иногда сообщение не добавляется, даже если все элементы li имеют отображение: нет. Он также даже не удаляет сообщение об отсутствии содержимого, даже когда элементы списка ARE видимы.

Есть идеи?

1 ответ

Решение

Прочитайте документы: вам не нужно делать то, что вы делаете.

Просто используйте noResults вариант.

Их пример:

$('input#search').quicksearch('table tbody tr', {
    'delay': 100,
    'selector': 'th',
    'stripeRows': ['odd', 'even'],
    'loader': 'span.loading',
    'noResults': 'tr#noresults',
    .......

похоже, что вы хотели бы 'noResults': '#noContent'

Другие вопросы по тегам