2016-09-12 3 views
1

У меня есть список данных JSON, которые мне нужно для фильтрации, введя имя. Результаты должны отображать только те списки, которые имеют это имя в результате. В настоящее время он просто скрывает другие имена и все еще показывает все остальные списки.Угловой поиск не фильтруется должным образом

Как настроить фильтр так, чтобы при вводе имени актера он отображал только списки фильмов, в которые включен актер?

Это разметка используется для отображения списков, а также угловой кода фильтра:

<div class="row" ng-repeat="movies in results | filter:genre"> 
    <div class="col-lg-12"> 
     <div class="well well-sm"> 
      <div class="row"> 
       <div class="col-xs-3 col-md-3 text-center"> 
        <img src="" alt="poster" 
         class="img-rounded img-responsive" /> 
       </div> 
       <div class="col-xs-9 col-md-9 section-box"> 
        <h2> 
         {{movies.Name}} 
        </h2> 
        <div class="row rating-desc"> 
         <div class="col-md-12"> 
          <span class="glyphicon glyphicon-time"></span>{{movies.Duration}}<span class="separator">|</span> 
          <span class="glyphicon glyphicon-signal"></span>{{movies.Rank}}<span class="separator">|</span> 
          <a class="bookMovie" href="http://www.fandango.com/{{movies.Name}}">Book Now!</a> 
         </div> 
        </div> 
        <hr> 
        <p> 
         {{movies.Description}} 
        </p> 
        <p ng-repeat="actor in movies.Actors | filter:actor" > 
        <span ng-bind="actor"></span> 
        </p> 
        <hr /> 
       </div> 
      </div> 
     </div> 
    </div> 
    </div> 

The JSON и остальные кода можно увидеть в этом plunker: https://plnkr.co/edit/ZmxaSRg9ir0qlNNtOyCd?p=preview

+0

Вы хотите найти the'movies' список и 'список слишком актерской ,? –

+0

@AbdelrhmanMohamed - в идеале. Я сначала работал с поиском списка актеров. – user3438917

+0

вы можете проверить мой ответ, фильтровать по объекту и фильтровать актеры только актерами и фильмами как жанры –

ответ

0

Thats, потому что вы должны поместить фильтр-актер в ваш родительский ng-repeat, проверьте ниже plnkr:

https://plnkr.co/edit/k1JVXL0Cpxysjhn2tNx7?p=preview

<div class="row" ng-repeat="movies in results | filter:actor | filter:genre"> 
+0

, это будет фильтровать свойства всего объекта фильма против ввода, не ограничиваясь только массивом участников. – jusopi

+0

Как я могу установить это так, чтобы при фильтрации для фильма он не удалял имена участников из этого списка? – user3438917

+0

Извините, я сделал это очень быстро, не успел поставить лучшие практики. Проверьте @Abdelrhman ответ, его ответ более полный =) Кроме того, мои работы также ... –

2

Вы можете фильтровать по объекту, как этот filter:{ Genres: genre, Actors: actor }

<div class="row" ng-repeat="movies in results | filter:{ Genres: genre, Actors: actor }"> 

plnkr link

Смежные вопросы