我是AngularJS的新手,并编写了一个AngularJS应用程序,其中有四个下拉(选择)作为搜索条件来过滤搜索结果。 每个下拉列表都由搜索结果中的字段填充。 但是,某些下拉字段未显示在搜索结果中。
预期逻辑如下: 1.在页面加载时,显示4下拉列表,在未过滤的结果下面显示10行 2.更改下拉列表A时,关联的过滤器将应用于JSON结果,并刷新并自动显示结果 3.每次都保留最后选择的下拉选项 4.更改下拉列表B时,关联的过滤器将应用于JSON结果,结果将刷新并自动显示,从而进一步限制结果 5.更改下拉列表D,关联的过滤器将应用于JSON结果,结果将刷新并自动显示,从而进一步限制结果 6.在更改下拉列表C时,关联的过滤器将应用于JSON结果并刷新并自动显示结果,从而进一步限制结果
因此,可以按任何顺序选择下拉列表,并且存在累积过滤 此外,如果过滤器组合未返回任何结果,则会显示一条消息。
我有一个下拉列表的解决方案,但无法在相同的json数据上实现多个下拉过滤器。 我的解决方案基于以下filter data using dropdown?,作为一名掠夺者。
非常感谢任何帮助。
答案 0 :(得分:2)
您可以将Object作为参数传递给过滤器表达式,如API参考http://docs.angularjs.org/api/ng.filter%3afilter中所述。此对象可以选择性地应用您感兴趣的属性,如下所示:
<input ng-model="search.name">
<input ng-model="search.phone">
<input ng-model="search.secret">
<tr ng-repeat="user in users | filter:{name: search.name, phone: search.phone}">
这是一个Plunker:http://plnkr.co/edit/kozaU39E74yqjZCpgDqM?p=preview
plunker适用于输入标签,因此它也适用于几乎没有修改的选择标签。
免责声明:不是由我创造的掠夺者