我在jquery中使用IndexOf和$ .grep来搜索值列表。我需要一个不区分大小写的搜索,但我得到区分大小写。我在StackOverflow上找到了类似的解决方案,但是嘿不符合我的需求。例如,此链接中找不到的解决方案都解决了我的问题:javascript indexOf to ignore Case
以下是代码:
var searchValue = "abc";
var matches = $.grep(listView.dataSource.view(), function (e) { return e.CategoryName.indexOf(searchValue) >= 0; });
答案 0 :(得分:2)
通常在我匹配字符串的情况下,我会强制它为小写:str.toLowerCase();
所以你想双方都这样做:
var searchValue = "abc";
var matches = $.grep(listView.dataSource.view(), function (e) { return e.CategoryName.toLowerCase().indexOf(searchValue.toLowerCase()) >= 0; });
您也可以使用toUpperCase()
,但大多数人都使用toLowerCase()
;