Jquery搜索文本框:搜索时如何忽略列表中重复的元素
jquery search text box: how to ignore few list repeated elements while searching
我有一个国家列表,用户可以从中选择一个国家。我们很少有国家需要在展示名单上名列前茅。在这些国家被显示在顶部之后,我们有正常的国家字母顺序。
但是排名靠前的国家又按字母顺序出现了,因为当用户搜索它们时,它们出现了两次。例如,印度排名第一,也是按字母顺序排列的。因此,当用户输入"Ind"时,会显示两个结果,这让用户感到困惑。
我们正在使用普通的jquery字符串匹配,并根据用户输入在li上执行show/hide,如下所示搜索列表中的用户输入:
$('#s').keyup(function(){
var valThis = $(this).val().toLowerCase();
$('.countryList>li').each(function(){
var text = $(this).text().toLowerCase();
(text.indexOf(valThis) == 0) ? $(this).show() : $(this).hide();
});
});
如何保留这些重复的条目,并且当有人搜索它们时只显示一个实例。
这里是fiddle-的链接演示小提琴
您可以尝试跟踪您已经在数组中找到的国家,如果已经找到,则隐藏它们。
$('#s').keyup(function(){
var foundCountries = [];
var valThis = $(this).val().toLowerCase();
$('.countryList>li').each(function(){
var text = $(this).text().toLowerCase();
if(!text.inArray(foundCountries) && text.indexOf(valThis) == 0) {
$(this).show();
foundCountries.push(text);
} else {
$(this).hide();
}
});
});
相关文章:
- 如何在不使用任何 html 输入/搜索元素的情况下读取本地客户端文本文件
- 当我单击chrome的输入类型=搜索元素上的X时,是否触发了任何事件
- 隐藏Google自定义搜索元素API 2.0的搜索引擎ID
- 使用 JavaScript 搜索元素
- JavaScript 搜索元素
- Twitter Bootstrap 2.3 Typeahead 搜索元素名称与字符和在谷歌浏览器中
- 在大型DOM中使用document.querySelector可以更快地搜索元素
- 其他人如何在活动页面的DOM中搜索元素
- 按名称在HTML代码中搜索元素
- 在对象中搜索元素
- Javascript在多维数组中搜索元素
- 最快的搜索元素在html
- 使用下拉列表搜索元素
- 在Node.js中,读取.html文件目录并在其中搜索元素属性
- 在另一个网站上搜索元素
- js,根据数据名称查找/匹配/搜索元素存储的数据
- 在innerHTML中搜索元素的最佳方式
- 按类搜索元素,并将id放在jquery中的每个元素上
- 如何在Cstr数组中搜索元素
- 搜索元素无相