用jQuery搜索表行,不区分大小写
Searching table rows with jQuery Non-Case sensitive
我正在尝试这个漂亮的小jQuery脚本来搜索这里找到的表:
用jQuery查找表行
它工作得很好,但是我不希望它是大小写敏感的,例如,如果我的表中的值是值一,我希望能够搜索值一,或值一,仍然得到正确的结果。
这是控制它的Jquery:
<script>
$(document).ready(function(){
$('input[name="search"]').keyup(function(){
var searchterm = $(this).val();
if(searchterm.length > 3) {
var match = $('tr.data-row:contains("' + searchterm + '")');
var nomatch = $('tr.data-row:not(:contains("' + searchterm + '"))');
match.addClass('selected');
nomatch.css("display", "none");
} else {
$('tr.data-row').css("display", "");
$('tr.data-row').removeClass('selected');
}
});
});
</script>
谁能帮我使它不区分大小写?
您可以使用toLowerCase()方法将这两个字符串转换为小写。
应该是这样的:
$(document).ready(function(){
$('input[name="search"]').keyup(function(){
var searchterm = $(this).val();
searchterm=searchterm.toLowerCase();
if(searchterm.length > 3) {
var match = $('tr.data-row:contains("' + searchterm + '")');
var nomatch = $('tr.data-row:not(:contains("' + searchterm + '"))');
match.addClass('selected');
nomatch.css("display", "none");
} else {
$('tr.data-row').css("display", "");
$('tr.data-row').removeClass('selected');
}
});
});
你还需要重写jQuery方法!它看起来像这样…
$.expr[":"].contains = $.expr.createPseudo(function(arg) {
return function( elem ) {
return $(elem).text().toLowerCase().indexOf(arg.toLowerCase()) >= 0;
};
});
这很直接,你所做的就是在比较它们之前强制两个字符串都是小写的。这样就可以跳过不同情况的问题。
你最好这样写你自己的选择器表达式:
$.expr[":"].containsCI = $.expr.createPseudo(function(arg) {
return function( elem ) {
return $(elem).text().toUpperCase().indexOf(arg.toUpperCase()) >= 0;
};
});
你可以在这里找到解决方案:Link,这将覆盖原来的":contains"选择器
$.expr[":"].contains = $.expr.createPseudo(function(arg) {
return function( elem ) {
return $(elem).text().toUpperCase().indexOf(arg.toUpperCase()) >= 0;
};
});
相关文章:
- 如何使后缀函数不区分大小写
- 使搜索不区分大小写
- Regex:匹配以“AM”结尾的单词(不区分大小写比较)
- 如何使用jQuery进行不区分大小写的搜索
- 将字符串添加到不区分大小写的 RegExp 中替换的事物开始
- javascript从字符串创建不区分大小写的regex
- :包含不区分大小写的解决方案在替换文本以突出显示时不起作用
- 当涉及到if语句时,我如何使Javascript不区分大小写
- 使用简单的角度滤波器来替换输入字符串中某些字符串的所有出现,而不考虑大小写和空格
- Regex以匹配整数或单词“”;“其他”;,不区分大小写
- Javascript中不区分大小写的自动完成
- 使.search()对变量不区分大小写
- extjssortable不按大小写和日期排序
- 在DOM中搜索字符串时不区分大小写
- 不区分大小写的自动完成搜索(使用java、javascript、jquery)
- 如何将不区分大小写添加到照片库搜索框jquery
- 使答案不区分大小写
- 使用 Amazon Dynamo DB 进行不区分大小写的查询
- 正则表达式不区分大小写,输入匹配
- 不区分大小写的 jQuery 属性选择器