-1

我正在使用一个 jquery 快速搜索插件(https://github.com/riklomas/quicksearch),它根据输入到输入字段中的数据过滤列表。

如果没有返回结果,我想显示一条这样的消息。

快速搜索插件将 display: none 添加到所有不显示的列表元素。

因此,我尝试了这个:

        // 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 项目都显示:无,它也不会附加消息。即使有列表项可见,它甚至也不会删除无内容消息。

有任何想法吗?

4

1 回答 1

1

阅读文档:你不需要做你正在做的事情。

只需使用该noResults选项。

他们的例子:

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

看起来你想要'noResults': '#noContent'

于 2013-01-29T18:28:09.537 回答