2016-06-07 46 views
0

局势:AngularJs:如何避免大小写,同时过滤

我不得不做出的,而不是使用正常的角度滤波器我自己的过滤器,因为特殊情况:

我有一个嵌套在四个层面上的对象:程序 - 天 - 大厅 - 演示文稿。 每个大厅都是一个包含相关介绍的手风琴。

无论如何,我所做的过滤器工作正常。

除了一件事:现在的过滤器是字母大小写。

因此,如果演示文稿名称为“自动化”,而用户类型为“自动化”,则不会显示在结果中。

的代码:

眼下正在寻找通过演示名内部用户输入的字符串的一个简单的indexOf:

angular.forEach(value_halls.presentations, function(presentation_info, key_presentation) 
{ 
    var name = presentation.name; 
    var index = name.indexOf($rootScope.filter.name); 

    if (index > -1) 
    {   
     $rootScope.program_list_filtered.push(presentation_info); 
    } 

}); 

问题:

待办事项你知道我怎样才能避免过滤字母大小写?

谢谢!

回答

2

您可以在这两个字符串使用toLowerCase

var index = name.toLowerCase().indexOf($rootScope.filter.name.toLowerCase());

1

一种方式来实现这一目标是使用两个字符串转换为大写那样:

var name = presentation.name.toUpperCase(); 
var index = name.indexOf($rootScope.filter.name.toUpperCase()); 

另一种方法是使用一个正则表达式

var name = presentation.name; 
var index = name.match(new RegExp($rootScope.filter.name, "i")); 
相关问题