Javascript 带复选框的AngularJS过滤器阵列

Javascript 带复选框的AngularJS过滤器阵列,javascript,angularjs,Javascript,Angularjs,我有一个AngularJS搜索过滤器,带有一个搜索框。 我想通过函数或纯AngularJS添加复选框过滤。 复选框应该过滤名为cat(category的缩写)的数组 我的数据位于一个名为cat(category的缩写)的数组中。 一个产品可以有多个类别,例如: product_A.cat: [ 'Continuing Education', 'Scientific Session'] 我的初级开发人员尝试为每个复选框创建一个筛选函数。 但我想改变这种状况。 <h4 class="blue

我有一个AngularJS搜索过滤器,带有一个搜索框。 我想通过函数或纯AngularJS添加复选框过滤。 复选框应该过滤名为cat(category的缩写)的数组

我的数据位于一个名为cat(category的缩写)的数组中。 一个产品可以有多个类别,例如:

product_A.cat: [ 'Continuing Education', 'Scientific Session']
我的初级开发人员尝试为每个复选框创建一个筛选函数。 但我想改变这种状况。

<h4 class="blue-title">Filter by category:</h4>
                    <div class="navbar">

                        <div class="navbar-header">
                            <button class="navbar-toggle btn btn-block" id="filtercategories"
                                type="button" data-toggle="collapse"
                                data-target=".searchbar-collapse">
                                <span class="fa fa-filter"></span>&nbsp;&nbsp;Categories
                            </button>
                        </div>

                        <div class="collapse navbar-collapse searchbar-collapse">
                            <button type="button" class="btn btn-default btn-block"
                                style="margin: 7px 0;" ng-click="resetFilters()">RESET
                                FILTERS</button>
                        </div>

                        <div class="collapse navbar-collapse searchbar-collapse">
                            <h5 style="font-weight: bold;">FREE</h5>
                            <div ng-repeat="FREEcategory in FREE">
                                <input type="checkbox" ng-model="FREEcategory.on"
                                    ng-change="FREEcheckChange()"> {{FREEcategory.name}}
                            </div>
                        </div>

                        <div class="collapse navbar-collapse searchbar-collapse">
                            <h5 style="font-weight: bold;">CONTINUING EDUCATION</h5>
                            <div ng-repeat="CEcategory in CE">
                                <input type="checkbox" ng-model="CEcategory.on"> {{CEcategory.name}}
                            </div>
                        </div>

                        <div class="collapse navbar-collapse searchbar-collapse">
                            <h5 style="font-weight: bold;">BEST OF ATS CONFERENCE</h5>
                            <div ng-repeat="BATScategory in BATS">
                                <input type="checkbox" ng-model="BATScategory.on"
                                    ng-change="BATScheckChange()"> {{BATScategory.name}}
                            </div>
                        </div>

                        <div class="collapse navbar-collapse searchbar-collapse">
                            <h5 style="font-weight: bold;">APCCMPD</h5>
                            <div ng-repeat="APCCMPDcategory in APCCMPD">
                                <input type="checkbox" ng-model="APCCMPDcategory.on"
                                    ng-change="APCCMPDcheckChange()">
                                {{APCCMPDcategory.name}}
                            </div>
                        </div>


                        <div class="collapse navbar-collapse searchbar-collapse">
                            <h5 style="font-weight: bold;">YEAR</h5>
                            <div ng-repeat="YEARcategory in YEAR">
                                <input type="checkbox" ng-model="YEARcategory.on"
                                    ng-change="YEARcheckChange()"> {{YEARcategory.name}}
                            </div>
                        </div>
按类别筛选:
类别
重置
过滤器
自由的
{{FREEcategory.name}
继续教育
{{CEcategory.name}
最佳ATS会议
{{BATScategory.name}
APCCMPD
{{APCCMPDcategory.name}
年
{{YEARcategory.name}

检查我在这个SO问题中的答案:-在这个示例中,我使用的是选择框。您可以很容易地将其更改为复选框。我认为您的用例不适用。