【问题标题】:case insensitive search in angular jsAngular js中不区分大小写的搜索
【发布时间】:2017-06-15 20:29:40
【问题描述】:

我在 Angular js 中有以下过滤器列表代码,每页分页 10 条记录。它给出了正确的结果,但结果区分大小写。我希望它不区分大小写。我已经尝试了 SO 的一些解决方案,但没有奏效,所以我发布了这个问题。

HTML 代码:

 <input type="search" name="search" placeholder="Search for members in first name,last name and email" ng-model="query"  class="form-control input-box">

    <tr ng-repeat="item in filterData = (totalItems| filter : search) | limitTo:10:10*(page-1)" ng-cloak> </tr>

JS代码:

$scope.search = function (row) {

    return !!(( row.member_fname.indexOf($scope.query || '') !== - 1  || row.member_lname.indexOf($scope.query || '') !== - 1 || row.member_email.indexOf($scope.query || '') !== - 1));
    };

【问题讨论】:

  • 只发布相关代码,使用适当的缩进重新格式化,附上您的数据示例 (totalItems?)

标签: javascript php angularjs html


【解决方案1】:

将 toLowerCase() 或 toUpperCase() 添加到所有字符串引用。

$scope.search = function (row) {

    return !!(( row.member_fname.toLowerCaseindexOf($scope.query.toLowerCase() || '') !== - 1  || row.member_lname.toLowerCase().indexOf($scope.query.toLowerCase() || '') !== - 1 || row.member_email.toLowerCase()indexOf($scope.query.toLowerCase() || '') !== - 1));
};

【讨论】:

  • 您可能还需要修剪 $scope.query。前导/尾随空格可能存在问题。我也会消除表达式开头的双重否定。
  • 好的,它只适用于小写字母。但是当我尝试使用大写字母时,它没有显示任何结果。
  • 您还有其他事情要做。我建议用更多细节修改问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-15
  • 2013-09-26
  • 2023-03-20
  • 1970-01-01
  • 2010-10-13
  • 2012-01-04
  • 2011-07-20
相关资源
最近更新 更多