Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果使用JS在输入框中搜索未返回任何结果,如何显示消息?_Javascript_Html - Fatal编程技术网

Javascript 如果使用JS在输入框中搜索未返回任何结果,如何显示消息?

Javascript 如果使用JS在输入框中搜索未返回任何结果,如何显示消息?,javascript,html,Javascript,Html,我正在使用来自的以下代码。它工作得很好,但如果没有找到任何结果,我很难显示消息。我想我必须使用类似于过滤器.indexOf的长度,但我不知道如何使用 注:我用jQuery找到了一些答案,但我需要使用纯JavaScript 有人知道我该怎么做吗 函数myFunction(){ //声明变量 var输入、滤波器、ul、li、a、i、TXT值; 输入=document.getElementById('myInput'); filter=input.value.toUpperCase(); ul=do

我正在使用来自的以下代码。它工作得很好,但如果没有找到任何结果,我很难显示消息。我想我必须使用类似于
过滤器.indexOf
的长度,但我不知道如何使用

注:我用jQuery找到了一些答案,但我需要使用纯JavaScript

有人知道我该怎么做吗

函数myFunction(){
//声明变量
var输入、滤波器、ul、li、a、i、TXT值;
输入=document.getElementById('myInput');
filter=input.value.toUpperCase();
ul=document.getElementById(“myUL”);
li=ul.getElementsByTagName('li');
//循环浏览所有列表项,并隐藏与搜索查询不匹配的项
对于(i=0;i-1){
李[i].style.display=“”;
}否则{
li[i].style.display=“无”;
}
}
}


下面是一个工作片段。添加一个表示“无匹配结果”的额外列表元素,保留一个表示matchFound的标志,该标志在列表中找到匹配项后立即设置为true。最后,如果matchFound标志仍然为false,则将“Not match found”项的display属性设置为block,这样就可以了

函数myFunction(){
//声明变量
var matchFound=false;
var输入、滤波器、ul、li、a、i、TXT值;
输入=document.getElementById('myInput');
filter=input.value.toUpperCase();
如果(!过滤器){
var els=document.getElementById('not-found')。style.display='none';
}
ul=document.getElementById(“myUL”);
li=ul.getElementsByTagName('li');
//循环浏览所有列表项,并隐藏与搜索查询不匹配的项
对于(i=0;i-1){
matchFound=true;
李[i].style.display=“”;
}否则{
li[i].style.display=“无”;
}
}
如果(!找到匹配项){
document.getElementById('not-found').style.display='block';
}
}
#未找到{
显示:无;
}


只需为此解决方案使用一个标志变量即可。很高兴能帮上忙:)