我正在使用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项都显示为none,它也不会附加消息。即使有可见的列表项,它也甚至不会删除无内容消息。
有什么想法吗?
答案 0 :(得分:1)
阅读文档:你不需要做你正在做的事情。
只需使用noResults
选项。
他们的例子:
$('input#search').quicksearch('table tbody tr', {
'delay': 100,
'selector': 'th',
'stripeRows': ['odd', 'even'],
'loader': 'span.loading',
'noResults': 'tr#noresults',
.......
看起来你想要'noResults': '#noContent'