简单的大小写不敏感的搜索框的一个表与jQuery
Simple case insensitive search box for a table with jQuery
我正在尝试为一个表创建一个简单的排序搜索框。
我有以下代码:
<input name="search" />
<table id="content">
<tr class="item"> (...) </tr>
<tr class="item"> (...) </tr>
</table>
$(document).ready(function(){
$('input[name="search"]').keydown(function(){
$('tr.item:contains("' + $(this).val()+ '")').prependTo('#content');
});
这个可以正常工作,但是.contains()是区分大小写的。
如何使它不区分大小写?
我在网上找到了这个:
http://bugs.jquery.com/ticket/278评论:4
http://ericphan.info/blog/2009/3/4/jquery-13-case-insensitive-contains.html,但当我添加以下代码:
$.extend($.expr[":"], {
"containsIgnoreCase": function(elem, i, match, array) {
return (elem.textContent || elem.innerText || "").toLowerCase().indexOf((match[3] || "").toLowerCase()) >= 0;
}});
一切似乎都没有改变,我的搜索框仍然区分大小写…
在扩展$
以添加containsIgnoreCase
之后,您应该在代码中使用containsIgnoreCase
。试试这个。
$(document).ready(function(){
$('input[name="search"]').keydown(function(){
$('tr.item:containsIgnoreCase("' + $(this).val()+ '")').prependTo('#content');
});
你可以在这篇文章中找到你的答案,我如何使jQuery包含不区分大小写,包括jQuery 1.8+?为了方便,我将在这里复制粘贴解决方案,
使用jQuery.expr[':'].Contains = function(a, i, m) {
return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0;
};
相关文章:
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- 按照选项卡索引的顺序循环一个jQuery选择
- 在创建对象后附加一个jquery事件
- 我需要一个jQuery函数来只工作在700px以上的屏幕大小,无法在我的代码中发现错误
- 一个jquery验证器方法,它不接受纯数字或纯特殊字符,但接受上面是否有字母
- 我做了一个jquery幻灯片,但没有;我工作不好,我该怎么办
- 我创建了一个jQuery幻灯片,但它一直在重复相同的图像
- 是preventDefault()一个jQuery函数或javascript函数
- 使用一个 jquery 代码关闭多个模态
- 如何在 elfinder(一个 jquery 文件管理器插件)中只显示文件夹列表
- 遍历下一个和上一个 jQuery 选项卡
- module.exports一个jQuery插件
- 有没有一个jquery marquee插件/脚本可以处理不同宽度的图像
- 一个jquery初始化中有多个类
- 如何从其中的另一个jquery脚本运行.load()
- 从 javascript 数组创建一个 Jquery 数组
- 第一个jquery事件正在发生,但没有发生第二个事件
- 向一个jQuery/DOM元素添加一个函数
- 我们如何在jQuery Datatable调用结果中启动另一个jQuery插件,而不是页面就绪函数
- 我可以自动生成一个jquery块,对不同的元素做同样的事情吗