2015-03-02 183 views
0

我有一個包含視頻 的列表中的組對象,當你編輯的對象,我給HTML的所有視頻,在那裏你可以在搜索列表。角顯示選中複選框過濾

但是,如果你不要搜索我希望它只顯示被檢查的視頻。

這裏的HTML使用

<div class="input-field"> 
    <input type="text" id="filter" ng-model="query" ng-change="hasVideos()" /> 
    <label for="filter"><i class="mdi-action-search"></i></label> 
</div> 

<ul class="collection"> 
    <li class="collection-item" ng-repeat="video in filterdVideo = (videos | filter:query) "> 
     <p> 
      <input type="checkbox" id="video_{{video.Id}}" checklist-model="group.Keywords" checklist-value="video.Id"> 
      <label for="video_{{video.Id}}"> 
       {{video.Title}} 
      </label> 
     </p> 
    </li> 
</ul> 

所以,我怎樣才能使它它只顯示了複選框被選中的視頻列表?當查詢不是空的時候忽略並顯示全部。

回答

0

我會盡量在以後改進我的答案。

但是爲了快速猜測,您可能可以使用ng-if並讓控制器處理,如果應該聆聽某事。

<li ng-if="functionthatreturnstrueorfalsebasedonyourneeds" class="collection-item" ng-repeat="video in filterdVideo = (videos | filter:query) "> 

複選框例子可以在文檔中找到:

filter('filterStack', function() { 
    return function (inputs, filterValues, showAll) { 
     var output = []; 
     if (showAll) return inputs; 

     angular.forEach(inputs, function (input) { 
      angular.forEach(filterValues, function (filterVal) { 
       if (filterVal.Id == input.Id) { 
        output.push(input); 
       } 
      }); 
     }); 
     return output; 
    }; 
}) 

而且具有其他的問題,現在,在加載時:

https://docs.angularjs.org/api/ng/directive/ngIf