0

I have an multiple ng-repeat list with multiple filters.

I use (ex:A.value) if (ex:B.value) , but I want to with multiple filters.

I want to multiple filters recommend_search and skill_search and language_search ,

then Search results is want to change the whole (html div class="panel")

now recommend_search filters is ok, but skill_search and language_search filters is only span range(html span id="language" and span id="skill")

How can I do multiple filters search results to change the whole(html div class="panel")?

angular.js

$scope.recommend=[];
  $http.get('/recommend/ajax').success(function (data, status) {
     $scope.recommend = data;
  });

html

<div ng-controller="recommendCtrl">
<!-- search -->
<div class="col-lg-12" style="margin-bottom:20px;">
    <div class="input-group">
        <span class="input-group-btn">
          <input type="text" class="form-control" placeholder="recommend search" ng-model="recommend_search.name">
        </span>
        <span class="input-group-btn">
          <input type="text" class="form-control" placeholder="skill search" ng-model="skill_search.skill_name">
        </span>
        <span class="input-group-btn">
          <input type="text" class="form-control"  placeholder="language search" ng-model="language_search.languagelv_name">
        </span>
    </div>
</div>

<!-- recommend -->
<div class="panel panel-default" ng-repeat="(key, value) in recommend.recommend  | orderBy:'-id' | filter:recommend_search">
    <div class="panel-body">
        <!-- content -->
        <div class="panel-content">
                <label class="ahr-label_bs">
                    @{{ value.family_name}}@{{value.surname}}
                    <span ng-if="value.sex == 1">♂</span>
                    <span ng-if="value.sex == 0">♀</span>
                </label>
                <span>@{{value.name}}</span>
                <!-- skill -->
                <label class="label-gray">skill</label>
                <span id="skill" ng-repeat="skill in recommend.personnels_skill  | filter:skill_search" ng-if="value.personnels_id == skill.personnels_id">
                              @{{skill.skill_name}}、
                            </span></p>
                <!-- language -->
                <label class="label-gray">language</label>
                <span id="language" ng-repeat="language in recommend.languagelvs  | filter:language_search" ng-if="value.personnels_id == language.personnels_id">
                              @{{language.languagelv_name}}、
                </span>

                <label class="label-gray">country</label><span>@{{ value.country }}</span></p>
        </div>
    </div>
</div>

1 Answer 1

2

You may chain filters.

<div class="panel panel-default" ng-repeat="(key, value) in recommend.recommend  | orderBy:'-id' | filter:recommendSearch | filter:anotherFilter | filter: oneMoreFilter">
Sign up to request clarification or add additional context in comments.

1 Comment

<span class="input-group-btn"> <input type="text" class="form-control" placeholder="recommend search" ng-model="recommend_search.name"> </span> <span class="input-group-btn"> <input type="text" class="form-control" placeholder="skill search" ng-model="anotherFilter.personnels_skill.skill_name"> </span> <span class="input-group-btn"> <input type="text" class="form-control" placeholder="language search" ng-model="oneMoreFilter.languagelvs.languagelv_name"> </span>

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.