javascript - 如何使用 ng-model 通过 OR 操作过滤多个值?

标签 javascript html css angularjs angular-ui-bootstrap

我目前有一个标记为“myQuery”的 ng-modal。现在,它有两个这样显示的过滤器:

    <accordion-group heading="" ng-repeat="hungry_pets in Pets" | filter:{hungry:false} | filter:{name:myQuery}" ... >

我一直在网上寻找一种执行过滤器的方法,这样无论我在查询中输入什么,它都会返回在任何字段中匹配(包含字母序列)的宠物列表。因此,我当前的对象具有以下字段:'name'、'owner'、'color'、'weight' 和 'hungry'。理想情况下,我会尝试像我在这个 question 中找到的东西看起来像这样:

    <accordion-group heading="" ng-repeat="hungry_pets in Pets" | filter:{hungry:false} | filter:({name:myQuery}||{owner:myQuery}||{color:myQuery}||{weight:myQuery})" ... >

或者:

    <accordion-group heading="" ng-repeat="hungry_pets in Pets" | filter:{hungry:false} | filter:filterALL)" ... >

有没有办法通过重新格式化上面的 HTML 标记来实现这一点?如果我要编写一个函数“filterALL”以便我可以用“filter:filterALL”替换它,那会是什么样子?

最佳答案

好吧,我知道这并不能完全回答问题,但是如果考虑搜索任何参数,而不是一组特定参数,您可以使用“$”而不是特定字段。

    <accordion-group heading="" ng-repeat="hungry_pets in Pets" | filter:{hungry:false} | filter:{$:myQuery}" ... >

关于javascript - 如何使用 ng-model 通过 OR 操作过滤多个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39047072/

相关文章:

javascript - jQuery 是 mousedown on mouseover

javascript - 访问主机名/端口号以调用 ajax 请求

javascript - 为什么我的 'position:fixed' 导航栏显示在网页底部而不是移动视口(viewport)底部?

javascript - 是否可以通过 CSS 或 JavaScript 在 Android 浏览器上抑制 "Long Hold"(又名 "long press")弹出对话框

Javascript 在事件时用函数替换 div 的内容

webkit - 你能在 webkit 框反射上做 webkit css 转换吗?

javascript - utf-8 文本出现乱码

javascript - 如何将 Promise.race 或 Promise.all 与异步迭代一起使用?

javascript - 在 HTML 中使用 jQuery

html - 为什么 span 会根据元素定义之间的空间而有所不同?