javascript - 在 AngularJS 中过滤没有 HTML 标签的文本

标签 javascript json angularjs angularjs-filter

我有一个简单的 AngularJS 应用程序,它使用如下所示的 JSON 对象数组:

$scope.faq = [
 { id: 1, question: "What is the meaning of life?", answer: "42"},
 { id: 2, question: "What <em>is<em> 1+1?", answer: "4"}
]

在我的 HTML 中,我有一个 ng-repeat,它带有来自这样的文本输入的基本过滤器

ng-repeat="qa in faq | filter:searchText"

问题是我希望过滤搜索,同时忽略 JSON 对象中的 HTML 标记,以便搜索短语“what is”将返回两个对象,而不仅仅是第一个对象。如何更改过滤器才能实现此目的?

最佳答案

编写您的自定义过滤器

在 html 中:

ng-repeat="qa in faq | customFilter"

在js中:

angular.module('youModule', []).
  filter('customFilter', function() {
    return function(input) {
      var out;
      //parse your strings(find <tag> and exclude it) and push in out variable
      return out;
    }
  });

UPD 您不仅可以在自定义过滤器中传输输入值(您可以添加参数,例如“searchText”) html: ng-repeat="常见问题解答中的 qa | customFilter:searchString"

js:返回函数(输入,搜索字符串){

关于javascript - 在 AngularJS 中过滤没有 HTML 标签的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18411324/

相关文章:

javascript - 使用should.js进行 Mocha 测试时出现问题

javascript - 将 SQL 查询 + JSON 文件生成移至服务中? wcf? mvc?

javascript - jQuery切换一些问题

python - 在Python中循环处理后移动文件的权限错误

angularjs - ngRepeat 中的指令时的绑定(bind)问题

javascript - 从内容脚本触发点击事件 - chrome 扩展

json - 为什么 JSON 编码 UTF-16 代理对而不是直接编码 Unicode 代码点?

javascript - 将 PHP 数组转换为 JSON 时动态转义撇号

javascript - Angular Js用动画一一隐藏Div

javascript - 在 java 脚本中上传图像时如何限制 .exe 扩展名?/