我有用户可以从中选择一个国家/地区的国家/地区列表。我们很少有国家需要位于显示列表的顶部。在这些国家显示在最顶层之后,我们对各国的字母排序正常。
但是顶部的国家再次按字母顺序排列,因此当用户搜索它们时,它们会出现两次。例如,印度排在最前面,也按字母顺序排列。因此,当用户输入" Ind"时,会显示两个让用户感到困惑的结果。
我们正在使用普通的jquery字符串匹配,并根据用户输入在li上执行show / hide,如下所示,搜索列表中的用户输入:
variables = ['var1', 'var2']
for var in variables:
df[var + "_new"] = None
for var in variables:
for k, v in df.groupby(var).mean()['target'].iteritems():
df.loc[df[var] == k, var + "_new"] = v
如何保留这些重复条目,并在有人搜索时只显示一个实例。
以下是小提琴的链接 - demo fiddle
答案 0 :(得分:0)
您可以尝试跟踪已在阵列中找到的国家/地区,如果已找到它们,则隐藏它们。
$('#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();
}
});
});