如何解决区分大小写搜索的搜索输入问题
how to fix issue with search input with case sensitive search?
嘿,所以我的搜索输入有问题,比如说,如果我想搜索"Car",如果我只键入Car,所有小写字母都没有显示。下面是我的代码示例以及fiddle的链接http://jsfiddle.net/d1dtqxh9/4/如有任何帮助,将不胜感激
HTML
<div class="search">
<form>
<input id="search" type="text" /><input type="submit" value="" />
</form>
</div>
<div id="grid">
<figure>
<div class="image">
<img class="IMG" src="LINK" />
<span class="IMGBOTTOM"></span>
</div>
<div class="POST">
<div class="INFO">
<h3><a href="LINK">Oranges</a></h3>
<p><b class="TYPE">Type: </b>Fruit</p>
<p><b class="location">Location: </b>Goracaries Stores </p>
<p><b class="taste">Tastes: </b>Like Orangishhh</p>
</div>
<div class="postbottom">
<div class="rate"><a class="ratefruits"
href="links">
<span id="duhh" class="duhhh"></span><br>
<span id="blahh" class="nahh">Like or Naa?</span>
</a>
</div>
<div class="share"><a class="sharefruits"
href="links">
<span id="duhh" class="duhhh"></span><br>
<span id="blahh" class="nahh">Like or Naa?</span>
</a>
</div>
<div class="clear"> </div>
</div>
</div>
</figure>
<figure>
<div class="image">
<img class="IMG" src="LINK" />
<span class="IMGBOTTOM"></span>
</div>
<div class="POST">
<div class="INFO">
<h3><a href="LINK">Car</a></h3>
<p><b class="TYPE">Type: </b>Auto Mobile</p>
<p><b class="location">Location: </b>Dealers </p>
<p><b class="taste">Tastes: </b>No Taste </p>
</div>
<div class="postbottom">
<div class="rate"><a class="ratefruits"
href="links">
<span id="duhh" class="duhhh"></span><br>
<span id="blahh" class="nahh">Speedy or Naa?</span>
</a>
</div>
<div class="share"><a class="sharefruits"
href="links">
<span id="duhh" class="duhhh"></span><br>
<span id="blahh" class="nahh">Speedy or Naa?</span>
</a>
</div>
<div class="clear"> </div>
</div>
</div>
</figure>
<figure>
<div class="image">
<img class="IMG" src="LINK" />
<span class="IMGBOTTOM"></span>
</div>
<div class="POST">
<div class="INFO">
<h3><a href="LINK">House</a></h3>
<p><b class="TYPE">Type: </b>Home</p>
<p><b class="location">Location: </b>Casa </p>
<p><b class="taste">Tastes: </b>Home Sweet Home</p>
</div>
<div class="postbottom">
<div class="rate"><a class="ratefruits"
href="links">
<span id="duhh" class="duhhh"></span><br>
<span id="blahh" class="nahh">Like or Naa?</span>
</a>
</div>
<div class="share"><a class="sharefruits"
href="links">
<span id="duhh" class="duhhh"></span><br>
<span id="blahh" class="nahh">Like or Naa?</span>
</a>
</div>
<div class="clear"> </div>
</div>
</div>
</figure>
<figure>
<div class="image">
<img class="IMG" src="LINK" />
<span class="IMGBOTTOM"></span>
</div>
<div class="POST">
<div class="INFO">
<h3><a href="LINK">Sky</a></h3>
<p><b class="TYPE">Type: </b>Nature</p>
<p><b class="location">Location: </b>SKy</p>
<p><b class="taste">Tastes: </b>Rain</p>
</div>
<div class="postbottom">
<div class="rate"><a class="ratefruits"
href="links">
<span id="duhh" class="duhhh"></span><br>
<span id="blahh" class="nahh">Like or Naa?</span>
</a>
</div>
<div class="share"><a class="sharefruits"
href="links">
<span id="duhh" class="duhhh"></span><br>
<span id="blahh" class="nahh">Like or Naa?</span>
</a>
</div>
<div class="clear"> </div>
</div>
</div>
</figure>
JavaScript
var search = $("#search");
var listItems = $("figure");
search.on("keyup", function() {
var terms = search.val();
if (terms == '') {
listItems.show();
} else {
listItems.hide();
$("figure:contains('" + terms + "')").show();
}
});
一种选择是使用.filter()和toLowerCase()
search.on("keyup", function () {
var terms = search.val().toLowerCase();
if (terms == '') {
listItems.show();
} else {
listItems.hide();
$("figure").filter(function () {
return $(this).text().toLowerCase().indexOf(terms) > -1
}).show();
}
});
演示:Fiddle
另一种选择是使用正则表达式
if (!RegExp.escape) {
RegExp.escape = function (value) {
return value.replace(/['-'[']{}()*+?.,'''^$|#'s]/g, "''$&")
};
}
var search = $("#search");
var listItems = $("figure");
search.on("keyup", function () {
var terms = search.val(),
regex = new RegExp(RegExp.escape(terms), 'i');
if (terms == '') {
listItems.show();
} else {
listItems.hide();
$("figure").filter(function () {
return regex.test($(this).text());
}).show();
}
});
演示:Fiddle
相关文章:
- 使搜索不区分大小写
- 如何使用jQuery进行不区分大小写的搜索
- 如何解决区分大小写搜索的搜索输入问题
- 用于Cordova应用程序的Javascript SQLite-使用参数搜索,其中字符串包含子字符串大小写insenst
- 在DOM中搜索字符串时不区分大小写
- 不区分大小写的自动完成搜索(使用java、javascript、jquery)
- 如何将不区分大小写添加到照片库搜索框jquery
- 使搜索文本框输入值不区分大小写
- 通过jquery搜索列表(不区分大小写)
- 如何在 JavaScript 中搜索其他不区分大小写的对象?像 _.where() 只有不区分大小写
- 使用 javascript 从 Parse 中搜索不区分大小写的数据
- 不区分大小写的字符串搜索不起作用
- 在javascript中搜索数组时忽略大小写
- 简单的大小写不敏感的搜索框的一个表与jQuery
- RegExp不区分大小写搜索整个单词与变量
- 将字符串中找到的单词替换为大小写敏感(搜索和高亮显示)
- 主干搜索不区分大小写
- 用jQuery搜索表行,不区分大小写
- 在引导程序表数据中进行不区分大小写的搜索
- 如何在javascript中突出显示相等的忽略大小写搜索文本记录