如何解决如何使用Angular JS过滤器在一个字段中搜索多个值?
我想让用户在3个不同的搜索字段中搜索多个值。当前,它正在搜索值nombre
,我想添加另外两个字段以查找值codigo_interno
和codigo_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个必须为空字段,允许用户查找nombre
,codigo_interno
和codigo_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_interno
和codigo_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个变量并验证它们,就这么简单。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。