不区分大小写的Jquery筛选器列表
我想筛选不区分大小写的列表。我只想匹配字符,不匹配大写或小写不区分大小写的Jquery筛选器列表,jquery,Jquery,我想筛选不区分大小写的列表。我只想匹配字符,不匹配大写或小写 XXXXXXX YYYYYY XXxxx 如果我在搜索框中输入“X”,它将同时显示1和3。我在下面添加了代码,但它也匹配区分大小写的代码 <!DOCTYPE html> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"> </script>
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>
function filter(element) {
var value = $(element).val();
$("#theList > li").each(function() {
if ($(this).text().search(value) > -1) {
$(this).show();
}
else {
$(this).hide();
}
});
}
</script>
</head>
<body>
<input type="text" onkeyup="filter(this)" />
<ul id="theList">
<li>xxvxvxx</li>
<li>yyyyyyyyyy</li>
<li>rrrrrrrrrr</li>
<li>vvvvvvvvvvv</li>
<li>xcvcvdfsdf</li>
<li>hkjhkhjkh</li>
<li>xzfgfhfgh</li>
</ul>
</body>
</html>
功能过滤器(滤芯){
var值=$(元素).val();
$(“#列表>li”)。每个(函数(){
if($(this).text().search(value)>-1){
$(this.show();
}
否则{
$(this.hide();
}
});
}
- xxvxvxx
- YYYYYYYY
- rrrrrrrrrrrrrr
- VVVVVV
- xCVCVDF
- hkjhjkh
- XZFGFhGH
您需要使用indexOf
$(this).text().search(value)
应该是
$(this).text().indexOf(value)
以及为什么要使用属性标记附加事件。这是一种不好的做法,应该避免
可以使用jQuery附加事件
$('input').keyup(function() {
filter(this);
});
function filter(element) {
var value = $(element).val().toLowerCase();
$("#theList > li").each(function () {
var $this = $(this),
lower = $this.text;
if (lower.indexOf(value) > -1) {
$this.show();
} else {
$this.hide();
}
});
}
使用filter
function filter(element) {
var value = $(element).val().toLowerCase();
$("#theList > li").hide().filter(function() {
return $(this).text().toLowerCase().indexOf(value) > -1;
}).show();
}
试试这个:
function filter(element) {
var value = $(element).val();
$("#theList > li").hide();
$("#theList > li:contains('" + value + "')").show();
}
替换
$(this).text().search(value) > -1
与:
这就应该奏效了。这里有一个正在工作的只需添加
jQuery.expr[“:”].contains=函数(a,i,m){
返回(a.textContent | | a.innerText | |“”).toUpperCase().indexOf(m[3].toUpperCase())>=0;};
是否可以执行不区分重音的版本?是否可能重复
$(this).text().search(new RegExp(value, "i")) > -1