javascript - AngularJS 复选框过滤不过滤页面加载

标签 javascript angularjs checkbox filter

jsfiddle 在这里:http://jsfiddle.net/jesperlehtinen/dx05bobb/2/


我有一个对象列表,我想在页面加载时对其进行过滤。基本上我有一个这样的复选框:

<input type="checkbox" class="form__checkbox" ng-model="filter['processed']">

和项目列表:

<tr data-ng-repeat="card in cards.data | filter:filterByStatus">

要过滤的js在controller中:

$scope.cards = $scope.$parent.cards;

$scope.filter = {};

$scope.filterByStatus = function(card) {
    return $scope.filter[card.status] || noFilter($scope.filter);
};

function noFilter(filterObj){
    for(var key in filterObj){
        if(filterObj[key]){
            return false;
        }
    }
    return true;
}

现在这在某种程度上起作用了。当我加载页面时,复选框未选中, checkin 执行过滤。但是,我希望在加载时选中复选框,并进行过滤。使用 ng-checked="true"使它被检查,但它不执行实际的过滤。我如何使用一个值(或函数)初始化复选框,使其在页面加载时被选中并执行过滤?

最佳答案

我意识到这就像将默认过滤器值设置为 true 来初始化过滤器一样简单。所以 $scope.filter = {}; 变成了 $scope.filter = {'Active':true};

关于javascript - AngularJS 复选框过滤不过滤页面加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36643361/

相关文章:

javascript - 您为我们提供了节点类型 TSInstantiationExpression 的访问者,但它不是有效类型

javascript - 当我使用 Angular 进行 forEach 循环时,为什么无法访问工厂中的数组?

javascript - 使用 javascript 或其他语言实现 Android 主屏幕小部件

javascript - 检查 AngularJS 模块是否被引导

angularjs - Uncaught Error : Unknown provider: $templateRequestProvider <- $templateRequest <- $modal

php - 如何从 mysql 读取标记信息并使用 AJAX 在谷歌地图上动态显示这些标记?时间问题

javascript - AngularJS 在表中嵌套 ng-repeats

javascript - 在 php 中使用 Ajax 传递复选框值的(动态)列表

javascript - JQuery 使用标签选择所有复选框

c++ - QCheckbox:未发出 stateChanged 信号