2015-01-15 84 views
0

我在jQuery中使用IndexOf和$ .grep来搜索值列表。我需要一个不区分大小写的搜索,但我正在区分大小写。我在StackOverflow上找到类似的解决方案,但是他没有满足我的需求。例如没有在此链接中找到的解决方案,解决了我的问题:javascript indexOf to ignore Case不区分大小写indexOf与grep

下面是代码:

var searchValue = "abc";  
var matches = $.grep(listView.dataSource.view(), function (e) { return e.CategoryName.indexOf(searchValue) >= 0; }); 
+1

'e.CategoryName.toLowerCase()。indexOf(searchValue.toLowerCase())' – 2015-01-15 15:28:52

+0

完美的谢谢。您的解决方案与我上面引用的解决方案(不适用于我)之间的区别在于另一个解决方案中的.text()。 – carlg 2015-01-15 15:33:43

+0

能够应用那些差异很小的答案是编程的关键能力。我会认为这是另一个问题的重复。 – 2015-01-15 17:24:11

回答

2
在我匹配的字符串,我会迫使它为小写的情况下

一般: str.toLowerCase();

所以,你要做到这一点两面:

var searchValue = "abc";  
var matches = $.grep(listView.dataSource.view(), function (e) { return e.CategoryName.toLowerCase().indexOf(searchValue.toLowerCase()) >= 0; }); 

您可以使用toUpperCase()太多,但大多数人使用toLowerCase();

+0

啊在评论中殴打它 – 2015-01-15 15:35:21