Javascript 搜索过滤器列表,不考虑字序问题,搜索严格
我设法解决了这个问题。我现在可以不考虑词序进行搜索,但搜索过滤器会显示大量结果,它并不像我希望的那样严格。为了更好地说明我的问题,我在下面发布了一段可运行的代码片段。如果您在搜索栏中键入“Correy”,它将正确显示包含“Correy”一词的所有结果。但是,如果我想搜索一个特定的Correy,我将无法。 例如,在搜索栏中键入“Correy Adele”它仍将像以前一样显示所有Corey结果。我不希望发生这种情况。有什么建议吗Javascript 搜索过滤器列表,不考虑字序问题,搜索严格,javascript,jquery,html,css,frontend,Javascript,Jquery,Html,Css,Frontend,我设法解决了这个问题。我现在可以不考虑词序进行搜索,但搜索过滤器会显示大量结果,它并不像我希望的那样严格。为了更好地说明我的问题,我在下面发布了一段可运行的代码片段。如果您在搜索栏中键入“Correy”,它将正确显示包含“Correy”一词的所有结果。但是,如果我想搜索一个特定的Correy,我将无法。 例如,在搜索栏中键入“Correy Adele”它仍将像以前一样显示所有Corey结果。我不希望发生这种情况。有什么建议吗 函数myFunction(){ var filter=$('inpu
函数myFunction(){
var filter=$('input').val().toUpperCase().split(“”);
var li=$('li');
变量a=$('a');
var-ul;
var TXT值;
ul=document.getElementById(“myUL”);
对于(变量i=0;i-1){
li[i].style.display='';
//不需要进一步匹配
}否则{
li[i].style.display='none';
}
打破
}
}
}
* {
框大小:边框框;
}
#我的输入{
背景图片:url('/css/searchicon.png');
背景位置:10px 12px;
背景重复:无重复;
宽度:100%;
字体大小:16px;
填充:12px 20px 12px 40px;
边框:1px实心#ddd;
边缘底部:12px;
}
#密尔{
列表样式类型:无;
填充:0;
保证金:0;
}
#李美儿{
边框:1px实心#ddd;
页边距顶部:-1px;/*防止双边框*/
背景色:#f6f6f6;
填充:12px;
文字装饰:无;
字号:18px;
颜色:黑色;
显示:块
}
#myUL li a:悬停:非(.header){
背景色:#eee;
}
您可以选择另一个vaiable并将其设置为true
,然后迭代过滤词,并在最后关闭不需要的项目
match = true;
for (var f = 0; f < filter.length && match; f++) { // exit loop if not match
match = txtValue.includes(filter[f]);
}
li[i].style.display = match ? '' : 'none';
match=true;
对于(var f=0;f
函数myFunction(){
var filter=$('input').val().toUpperCase().split(/\s+/);
var li=$('li');
变量a=$('a');
var-ul;
var TXT值;
ul=document.getElementById(“myUL”);
变量匹配
对于(变量i=0;i
*{
框大小:边框框;
}
#我的输入{
背景图片:url('/css/searchicon.png');
背景位置:10px 12px;
背景重复:无重复;
宽度:100%;
字体大小:16px;
填充:12px 20px 12px 40px;
边框:1px实心#ddd;
边缘底部:12px;
}
#密尔{
列表样式类型:无;
填充:0;
保证金:0;
}
#李美儿{
边框:1px实心#ddd;
页边顶部:-1px;
/*防止双重边界*/
背景色:#f6f6f6;
填充:12px;
文字装饰:无;
字号:18px;
颜色:黑色;
显示:块
}
#myUL li a:悬停:非(.header){
背景色:#eee;
}
您可以选择另一个vaiable并将其设置为true
,然后迭代过滤词,并在最后关闭不需要的项目
match = true;
for (var f = 0; f < filter.length && match; f++) { // exit loop if not match
match = txtValue.includes(filter[f]);
}
li[i].style.display = match ? '' : 'none';
match=true;
对于(var f=0;f
函数myFunction(){
var filter=$('input').val().toUpperCase().split(/\s+/);
var li=$('li');
变量a=$('a');
var-ul;
var TXT值;
ul=document.getElementById(“myUL”);
变量匹配
对于(变量i=0;i
*{
框大小:边框框;
}
#我的输入{
背景图片:url('/css/searchicon.png');
背景位置:10px 12px;
背景重复:无重复;
宽度:100%;
字体大小:16px;
填充:12px 20px 12px 40px;
边框:1px实心#ddd;
边缘底部:12px;
}
#密尔{
列表样式类型:无;
填充:0;
保证金:0;
}
#李美儿{
边框:1px实心#ddd;
页边顶部:-1px;
/*防止双重边界*/
背景色:#f6f6f6;
填充:12px;
文字装饰:无;
字号:18px;
颜色:黑色;
显示:块
}
#myUL li a:悬停:非(.header){
背景色:#eee;
}
哇,非常感谢!!这个问题困扰了我很多年。再次感谢您!哇,太谢谢你了!!这个问题困扰了我很多年。再次感谢您!