1

このプランカーのようにangularjsの全文検索をしようとしました

http://plnkr.co/edit/PwcteF6WAtuAOj3ZDKLe?p=preview

私は多くの組み合わせを試しましたが、どれもうまくいきません..

例: 'alex big-mary' または 'alex 800' または 'mary big' のようなクロス カラムを検索したいのですが、機能しません alex 555 は alex 単語の直後に存在するため機能します

4

2 に答える 2

10

OR のような検索を実行する組み込みフィルターを知りません。ニーズに合った独自のフィルターを定義できます。

angular.module('App', []).filter('search', function($filter){
   return function(items, text){
      if (!text || text.length === 0)
        return items;

      // split search text on space
      var searchTerms = text.split(' ');

      // search for single terms.
      // this reduces the item list step by step
      searchTerms.forEach(function(term) {
        if (term && term.length)
          items = $filter('filter')(items, term);
      });

      return items
   };
});

この Plunkr を使用したこのコードの動作を参照してください: 単純な OR 検索フィルター

于 2013-11-05T08:27:37.107 に答える
0

データを取得して行ごとにトークン化し、入力した文字列に一致する行のみを表示するカスタム フィルターを作成する必要があります。

カスタム フィルターを作成するためのドキュメントは次のとおりです。

http://docs.angularjs.org/guide/dev_guide.templates.filters.creating_filters

于 2013-11-05T08:26:31.397 に答える