Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果选中复选框,则将结果筛选到前5个最高分_Javascript_Angularjs_Checkbox_Angular Filters - Fatal编程技术网

Javascript 如果选中复选框,则将结果筛选到前5个最高分

Javascript 如果选中复选框,则将结果筛选到前5个最高分,javascript,angularjs,checkbox,angular-filters,Javascript,Angularjs,Checkbox,Angular Filters,我对angularjs是新手。 我的目标是过滤学生的记录,如果勾选了Top 5标记复选框,则限制为:5。 如果未选中复选框Top 5 Mark,则返回满足其他筛选器的所有记录 我还有其他搜索框来过滤记录。但这已经超出了目前的范围 我的过滤代码现在是这样的 <div class="checkbox"> <label> <input type="checkbox"/> Top 5 Marks </label> </div&

我对angularjs是新手。 我的目标是过滤学生的记录,如果勾选了Top 5标记复选框,则限制为:5。 如果未选中复选框Top 5 Mark,则返回满足其他筛选器的所有记录

我还有其他搜索框来过滤记录。但这已经超出了目前的范围

我的过滤代码现在是这样的

<div class="checkbox">
  <label>
    <input type="checkbox"/>
    Top 5 Marks
  </label>
</div>
            <tr data-ng-repeat="item in students | filter:query | orderBy: orderName">

                <td>{{item.name}}</td>
                <td>{{item.mark}}</td>
                <td>{{item.grade}}</td>
            </tr>

这很简单,您可以使用以下代码完成:

<div ng-controller="MyCtrl">
        <label>Top 5</label>
        <input type="checkbox" ng-model="checked" ng-change="changeLimit(5)"/>
        <br/> <br/>
        <ul>
            <li ng-repeat="student in students | orderBy: 'mark': true | limitTo: limitNumber">
                <span>{{student.name}}</span>
                <span>{{student.mark}}</span>
            </li>
        </ul>
    </div>
我在这篇文章上附上了一个例子


此外,我还建议您阅读有关过滤器的信息。

如果我的回答对您有用吗?我愿意接受任何反馈:
function MyCtrl($scope) {      
    $scope.students = [
        { name: "Peter", mark: 10 },
        { name: "John", mark: 9 },
        { name: "Hevery", mark: 7 },
        { name: "Archy", mark: 10 },
        { name: "Michael", mark: 4 },
        { name: "Wats", mark: 4 },
        { name: "Richard", mark: 8 },
        { name: "Ivan", mark: 6 },
    ];

     $scope.limitNumber = $scope.students.length;
            $scope.changeLimit = function(limit){
        if($scope.checked){
           $scope.limitNumber = limit;
        } 
        else{
          $scope.limitNumber = $scope.students.length;      
        }
    };
};