String 通过带有空格和逗号分隔符的文本输入对列表进行多个筛选
我正在使用这个有用的模板: 但是,我想让空格(如果可能的话,还有逗号)被读取,以便允许多个单独的过滤器(可能被读取为~和(逻辑)语句,我不确定),就像在这个网站上的“农业和生物科学研究者”过滤器中所做的那样:String 通过带有空格和逗号分隔符的文本输入对列表进行多个筛选,string,list,filter,String,List,Filter,我正在使用这个有用的模板: 但是,我想让空格(如果可能的话,还有逗号)被读取,以便允许多个单独的过滤器(可能被读取为~和(逻辑)语句,我不确定),就像在这个网站上的“农业和生物科学研究者”过滤器中所做的那样: 以下是我一直在寻找的答案(非常感谢我的朋友JKV!): 函数myFunction(){ var输入、过滤器、ul、li、a、i、allfound; 输入=document.getElementById(“myInput”); filter=input.value.toUpperCase
以下是我一直在寻找的答案(非常感谢我的朋友JKV!):
函数myFunction(){
var输入、过滤器、ul、li、a、i、allfound;
输入=document.getElementById(“myInput”);
filter=input.value.toUpperCase().trim().split(/,|/);
ul=document.getElementById(“myUL”);
li=ul.getElementsByTagName(“li”);
对于(i=0;i
<script>
function myFunction() {
var input, filter, ul, li, a, i, allfound;
input = document.getElementById("myInput");
filter = input.value.toUpperCase().trim().split(/,| /);
ul = document.getElementById("myUL");
li = ul.getElementsByTagName("li");
for (i = 0; i < li.length; i++)
{ allfound = true;
a = li[i].getElementsByTagName("a")[0].innerHTML.toUpperCase();
for (var w = 0; w < filter.length; w++) {
if (a.indexOf(filter[w].trim()) == -1) {
allfound = false;
break;
}
}
li[i].style.display = allfound?"":"none";
}
}
</script>