如何使用Angular JS过滤器在一个字段中搜索多个值?

问题描述

我想让用户在3个不同的搜索字段中搜索多个值。当前,它正在搜索值nombre,我想添加另外两个字段以查找值codigo_internocodigo_comercial

这些是我拥有的<DIVs>

<div class="col-md-3">
                <select ng-model="categoria" class="form-control" ng-options="item for item in categorias" placeholder="Filtrar por Categoria"/>
                    <option value="" disabled selected hidden>Filtrar por Categoria</option>
                </select>
            </div>
            <div class="col-md-3 search right">
                <input class="form-control has-feedback" ng-model="search1" type="text" placeholder="Buscar por Artículo"/>
            </div>
            <div class="col-md-3 search right">
                <input class="form-control has-feedback" ng-model="search2" type="text" placeholder="Buscar por Código Interno"/>
            </div>
            <div class="col-md-3 search right">
                <input class="form-control has-feedback" ng-model="search3" type="text" placeholder="Buscar por Código Comercial"/>
            </div>

您可以看到我有一个下拉过滤器,但接下来的3个必须为空字段,允许用户查找nombrecodigo_internocodigo_comercial

正在为此工作的开发人员键入了以下功能:

$scope.show = function (precio){
            cumple_categoria = $scope.categoria   == null || precio.articulo.categoria == $scope.categoria;

            regexp = new RegExp($scope.search1,'i');
            data = precio.articulo.codigo_interno.search(regexp);
            return data != -1 && cumple_categoria;
        }

它确实适用于值nombre,但是,如何使其他2个字段查找其他值?有没有办法对nombre以及codigo_internocodigo_comercial进行相同的过滤器字段搜索?

谢谢。

解决方法

解决方案很简单:

$scope.show = function (precio){
        cumple_categoria = $scope.categoria   == null || precio.articulo.categoria == $scope.categoria;

        regexp1 = new RegExp($scope.search1,'i');
        regexp2 = new RegExp($scope.search2,'i');
        regexp3 = new RegExp($scope.search3,'i');

        data1 = precio.articulo.nombre.search(regexp1);
        data2 = precio.articulo.codigo_interno.search(regexp2);
        data3 = precio.articulo.codigo_comercial.search(regexp3);
        
        return data1 != -1 && data2 != -1 && data3 != -1 && cumple_categoria;
    }

我只需要为RegExp添加2个变量,为数据添加2个变量并验证它们,就这么简单。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...