Javascript 角js中的多个过滤器

Javascript 角js中的多个过滤器,javascript,angularjs,filtering,Javascript,Angularjs,Filtering,我有一个应用程序,它以表格形式显示数据,表格中有列 标识、名称、价格、数量 A am使用ng repeat显示数据请参见此 资料 身份证件 名称 价格 量 {{item.id} {{item.name} {{item.price}} {{item.quantity}} 我想做的是在这个表上的ng repeat中添加多个过滤器 a) 按“名称”筛选 b) 按“价格”或“数量”筛选 这意味着在任何给定的时间点,表的结果都应该通过以下组合进行过滤: i)无论是“名称”还是“价格” ii)或“名

我有一个应用程序,它以表格形式显示数据,表格中有列

标识、名称、价格、数量

A am使用ng repeat显示数据请参见此


资料
身份证件
名称
价格
量
{{item.id}
{{item.name}
{{item.price}}
{{item.quantity}}

我想做的是在这个表上的ng repeat中添加多个过滤器

a) 按“名称”筛选

b) 按“价格”或“数量”筛选

这意味着在任何给定的时间点,表的结果都应该通过以下组合进行过滤:

i)无论是“名称”还是“价格”

ii)或“名称”和“数量”

当价格过滤器处于活动状态时,数量过滤器应处于非活动状态,反之亦然

我将有3个过滤器参数的输入字段


如何在html中将筛选器应用于ng repeat以实现此目的?

我建议您创建一个自定义筛选器,并将包含所有筛选器选项的自定义筛选器对象传递给此筛选器

<tr ng-repeat="item in myData | myCustomFilter:filterObject">
  <td>{{ item.id }}</td>
  <td>{{ item.name }}</td>
  <td>{{ item.price }}</td>
  <td>{{ item.quantity }}</td>
</tr>
在myCustomFilter中:

app.filter('myCustomFilter', function(items, filterObject) {
    // filter your items depending on which filters are enabled
});
这是测试myDatafilter 加载项js

myDatafilter = function () {};

<h1>Data</h1>
<input type="text" ng-model="myDatafilter"/>
<tr ng-repeat="item in myData | filter:myDatafilter">
myDatafilter=function(){};
资料

您的意思是过滤还是排序?另外,从何处获取过滤所需的过滤值输入?例如,您如何知道要过滤的数量?“我如何将过滤器应用于ng重复以实现此目的?”-与在角度中进行正常过滤的方法相同。这已经被问过很多次了。至于禁用它,对于一些布尔标志和设置它们的ngChange来说也很简单。@gaurav5430我想过滤结果集,我将有3个文本框,分别是名称、价格和数量。名称是一个直接的过滤器,现在当用户在价格输入中输入内容时,另一个(数量)应该为空,反之亦然versa@dfsq我在ng repeat中实现过滤器没有问题,这里,我主要关心的是在价格和数量过滤器之间切换,在一个实例中只能应用其中的一个。您确实应该添加一些解释,说明为什么此代码应该工作—您也可以在代码本身中添加注释—在其当前形式中,它没有提供任何解释,可以帮助社区的其他人理解您为解决/回答问题所做的工作。
app.filter('myCustomFilter', function(items, filterObject) {
    // filter your items depending on which filters are enabled
});
myDatafilter = function () {};

<h1>Data</h1>
<input type="text" ng-model="myDatafilter"/>
<tr ng-repeat="item in myData | filter:myDatafilter">