带有复选框的ng-repeat动态过滤表

时间:2016-05-31 13:01:07

标签: javascript angularjs checkbox filter angularjs-ng-repeat

我想通过使用复选框来过滤我的桌子,我用以下代码成功地使用单选按钮:

<label class="checkbox-inline" >
       <input type="radio" ng-model="term" value="HT1"/> HT1
       <input type="radio" ng-model="term" value="HT2"/> HT2
       <input type="radio" ng-model="term" value="VT1"/> VT1
       <input type="radio" ng-model="term" value="VT2"/> VT2
</label>
<tr ng-repeat="course in vm.courses|filter:term">

我意识到使用复选框时同样不起作用,因为所有复选框都获得相同的ng-model。但是如何使用复选框执行此操作?我想使用javascript而不是角度,如果我必须使用脚本

1 个答案:

答案 0 :(得分:2)

试试这个:

<input type="checkbox" ng-model='filter1' ng-true-value="'filter1'" ng-false-value=''/> filter1
<input type="checkbox" ng-model='filter2' ng-true-value="'filter2'" ng-false-value=''/> filter2
<tr ng-repeat="course in vm.courses | filter:filter1 | filter:filter2">

或编写自定义过滤器:

app.filter('myCustomFilter', function() {
return function(input, optional1,optional2) {
     var output;
     // Do filter work here
     return output;
    }
});

并使用以下内容:

<tr ng-repeat="course in vm.courses | myCustomFilter">