Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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_Jquery - Fatal编程技术网

Javascript 删除JS搜索中的区分大小写

Javascript 删除JS搜索中的区分大小写,javascript,jquery,Javascript,Jquery,我在页面上有一个列表和一个搜索栏,可以根据用户键入的内容搜索和过滤列表。目前,输入必须全部是小写的(这是我自己添加的)。如何从搜索字符串中删除所有区分大小写的内容?例如,如果我搜索teST,teST的结果仍然会出现 var list=$(“table.ms listviewtable”); var listItems=$(“table.ms-listviewtable tr:not(.ms viewheadertr)”); 变量输入=$(“输入#过滤器输入”); input.keyup(函数()

我在页面上有一个列表和一个搜索栏,可以根据用户键入的内容搜索和过滤列表。目前,输入必须全部是小写的(这是我自己添加的)。如何从搜索字符串中删除所有区分大小写的内容?例如,如果我搜索
teST
teST
的结果仍然会出现

var list=$(“table.ms listviewtable”);
var listItems=$(“table.ms-listviewtable tr:not(.ms viewheadertr)”);
变量输入=$(“输入#过滤器输入”);
input.keyup(函数(){
listItems.each(函数(){
var text=$(this.text();
var text=$(this.text().toLowerCase();
if(text.indexOf(input.val())!=-1){
$(this.show();
}否则{
$(this.hide();
}
});
});

只需在
input.val()
上使用
toLowerCase
,以及
text

if (text.indexOf(input.val().toLowerCase()) != -1) {...}
另请注意,您可以在较新的浏览器上使用
includes
而不是
indexOf

if (text.includes(input.val().toLowerCase())) {...}

您也可以使用
.match
方法

var list=$(“table.ms listviewtable”);
var listItems=$(“table.ms-listviewtable tr:not(.ms viewheadertr)”);
变量输入=$(“输入#过滤器输入”);
input.keyup(函数(){
让inputVal=input.val().toLowerCase();
listItems.each(函数(){
if($(this).text().toLowerCase().match(inputVal)){
$(this.show();
}否则{
$(this.hide();
}
});
});

如果(text.indexOf(input.val().toLowerCase())!=-1)
这很有效,非常感谢!还将标记以下内容为正确。请缓存输入val。我还建议使用toggle:
input.on(“input”,function(){var val=$(this).text().toLowerCase();listItems.each(function(){var text=$(this).text().toLowerCase();$(this).toggle(text.indexOf(val)!=-1;})
但缓存input.val()你说的@mplungjan是什么意思?@JackBashford:意思是将值保存在变量中。。。。。但在这种情况下不需要,因为它只使用一次
input.on(“input”,function(){var val=$(this.text().toLowerCase();listItems.each(function(){var text=$(this.text().toLowerCase();$(this).toggle(text.indexOf(val)!=-1);})
==0
来自匹配源start@PranavCBalan它用于loopCache输入val和toggle@mplungjan:是否要将
input.val()
移到迭代器外部?
input.on(“input”,function(){var val=$(this).text().toLowerCase();listItems.each(function(){var text=$(this).text().toLowerCase();$(this).toggle(text.indexOf(val)!=-1);})
==0
从startYes匹配,这是优化的方式,更正!!!向上投票,非常感谢!